freenode/#lisp - IRC Chatlog
Search
4:04:54
KahMue
I'm currently trying out qtools. I want to customize QAbstractTableModel and QTableView. My implementation simply returns 13 for column-count and 2 for row-count. "data" returns
4:04:55
KahMue
But the TableView shows this annoying checkboxes .... any hints on how to get rid of them?
5:17:55
contrapunctus
seok: there's also another cl-git which doesn't depend on a git binary or libgit - https://github.com/fiddlerwoaroof/cl-git
5:24:05
contrapunctus
fiddlerwoaroof: ^ would you consider naming it something else? It's difficult to search for it, as most results point to the libgit wrapper.
6:31:26
pyc
I know that ASDF is used to depend on other packages but if I am writing a "script" for personal use, is it acceptable to (require :asdf) or do you still recommend setting up a dependency via systems?
6:36:33
Nilby
pyc: If it's for personal use, the question is "is it acceptable to you". But I have done a (require :asdf) manually in scripts and such. But unless you're using nothing from quicklisp, it's probably better to just (load "quicklisp/setup.lisp") or whatever incantation quicklisp puts in your .lisprc, which will get the appropriate asdf.
6:37:57
pyc
Nilby: It is acceptable to me but I am beginner, so I am concerned about not developing bad habits. That's why I thought of checking here with you guys once.
6:38:43
pyc
Nilby: I have (load "quicklisp/setup.lisp") in my ~/.sbclrc but it does not seem to load asdf by default. I am required to (require :asdf) despite that to be able to run my program in script mode: sbcl --script program.lisp
6:39:49
Nilby
The topic of running a lisp script from a fresh lisp, has many differing opinions in the community. Some some only run from slime, use roswell, some run from command line shell scripts,
6:40:39
pyc
Nilby: if the Lisp program is part of automation, one has to run it from shell scripts, right? SLIME is good only for interactively running the program when a human is present, is it not?
6:40:56
Nilby
Hmmm. quicklisp always loads asdf as far as I know, but maybe it doesn't register as "require"d
6:41:16
pyc
Nilby: by the way, is .lisprc a valid filename or was that just a placeholder you used in your message. I use .sbclrc. Do you use .lisprc on your system? Which CL implementation honours .lisprc?
6:42:30
Nilby
Sometimes quicklisp may load its own version of asdf and not the one that is from "require"
6:43:22
pyc
Okay, I have ~/.sbclrc setup by Quicklisp. I have foo.lisp with: (format t "~a~%" (uiop:getcwd)). I run: sbcl --script foo.lisp. I get error: Package UIOP does not exist.
6:45:38
pyc
The man page for sbcl --script option says: As a runtime option equivalent to --noinform --disable-ldb --lose-on-corruption --end-runtime-options --script <filename>. See the description of --script as a toplevel option below. Not sure if one of these options is causing ~/.sbclrc to be ignored.
6:46:02
pyc
Let me put some debug print statements in ~/.sbclrc and see if it is getting loaded at all.
6:47:04
Nilby
Hmmm. I haven't used --script. It probably avoids most setup. Likely for use as in a #! script
6:47:53
pyc
Confirmed. sbcl --script does not load ~/.sbclrc but sbcl --load foo.lisp --quit does load ~/.sbclrc.
6:48:29
Nilby
I think a good habit is to have your script work with a very fresh unconfigured sbcl, without any .sbclrc or dot files. That way you can use it as a different user, and have it work.
6:50:00
pyc
Okay, so the --script option is documented twice in man page. Not sure what the difference is between them The first entry says: As a runtime option equivalent to --noinform --disable-ldb --lose-on-corruption --end-runtime-options --script <filename>. See the description of --script as a toplevel option below.
6:50:12
pyc
The second entry says: Implies --no-sysinit --no-userinit --disable-debugger --end-toplevel-options.
6:51:00
pyc
The first entry is listed under "Supported runtime options". The second entry is listed under "toplevel options".
6:51:01
Nilby
It really depends on what the script is doing, whether you want to load the uers's init file. If it provides a repl than maybe, otherwise probably not.
6:52:07
Nilby
But for development of course it's easier to have your prefered things loaded automatically.
9:48:19
Posterdati
please help! I need to render csv data in a diagram, what is the easiest way to do so, using common lisp? Thanks!
9:51:20
edgar-rft
in some beginner book there is a program for making ascii art diagrams, probably Touretzky
9:53:26
Nilby
Ah, if it's just for one thing I might use wxMaxima which has great graphing, but if it's for use in program, maybe cl-csv -> vecto ?
9:55:42
Nilby
If it's part of a UI one should probably use whatever graphics that UI has availible, eg. McCLIM drawing, or qtools drawing
9:57:34
Nilby
I wrote my own csv -> graph so I'd use that, but I can't reccomend it for anyone else.
12:02:02
VincentVega
So, I have a problem where a metaclass-based MOP errors out with certain inheritence conditions (B inherits from A and contains an error which happens during inheritence finalization), but then when I redefine B correctly, trying to reevaluate definition of A yields the error again (even after redefiningĀ B correctly). This is annoying, and I have
12:02:02
VincentVega
no clue what to do about it, other than restart the image. I tried makunbound on all classes and doing the finalization, but nothing. Any ideas how this may be treated? PS It's like this on CCL and ECL, but SBCL is just fine.
13:32:15
shka_
question: is package (global) nickname is effectively the same as the package name or there is the use case where nickname can't be used
13:36:43
specbot
Package Names and Nicknames: http://www.lispworks.com/reference/HyperSpec/Body/11_aaa.htm
14:36:22
pyc
is there any possible reason (ensure-directories-exist "foo/bar/" :verbose t) will not create directories when I execute my program through SLIME but will create directories when I am doing so on the shell via sbcl --script program.lisp?
14:38:26
Nilby
I would guess your working directory in the SLIME lisp might be different than you think.
14:38:43
pyc
I got a clue. While executing through slime, it is creating the directory at ~/foo/bar/ (not my current directory).
14:39:30
pyc
now the problem is that (uiop:getcwd) in SLIME shows ~/workspace as SLIME's current directory. Still (ensure-directories-exist "foo/bar/" :verbose t) is creating the folders at ~/foo/bar/. Why isn't it creating them at ~/workspace/foo/bar/?
14:41:27
pyc
Nilby: you are right. *default-pathname-defaults* shows my home directory. Do all CLHS file functions default to that?
14:41:39
Nilby
*default-pathname-defaults* is where lisp file functions will work, and getcwd is where lower level os things will default to
14:42:13
pyc
it gets confusing because `uiop:delete-directory-tree` defaults to current directory but `ensure-directories-exist` defaults to home directory.
14:42:56
pyc
It looks like as a best practice I should then use absolute paths everywhere by concatenating (uiop:getcwd) myself to all paths I need to work with?
14:43:28
Nilby
It's terribly confusing. I use a change-directory function or with-directory which always sets both.