freenode/#lisp - IRC Chatlog
Search
19:38:12
mdevos
Bike: probably (-:. Though I can save myself some typing by defining the "defvar" and "defun" syntaxes in terms of Scheme's define, and maybe likewise for other things
19:38:56
Bike
some things are going to be more involved. i don't think scheme has anything like CLOS, for example
19:41:40
Nilby
How hard it will be porting, really depends on things like does it use FFI, does it use weird format features, how much CLOS, reader features etc, gray streams, etc. Guile has a lot of stuff, but there's a lot of corners in CL.
19:46:06
mdevos
Feldman: I'm porting from CL to Guile Scheme, not the other way around (-: But thanks, I didn't know that
19:58:19
aeth
The Scheme <-> Common Lisp compatibility layer is called writing a Scheme in Common Lisp.
20:30:28
holycow
okay. now i get what people are talking about when they say, emacs + slime + lisp image based iterative development is the cats meaow
22:13:44
holycow
someone just asked on reddit about d3.js binding for clog. that would really be something else to see.
22:50:29
warweasle
That's likely it. I still haven't found a GUI system I like. Much less one that works with lisp.
23:45:50
phoe
2) you might have more luck asking on #racket because this is a lair of Common Lisp programmers
23:52:29
Wezl
say I have a value and a list, and I want to reverse the list and have the value as the (cdr (last)), is there a better way than (apply #'list* (reverse (cons value lst)))?
0:34:21
catern
hi #lisp, I've always heard/assumed/believed that Common Lisp supports live upgrade of a running application, such that I can keep the runtime state of the application around while still upgrading it (rather than trashing all that runtime state with a process restart, like one might do to upgrade a Unix application written in C)
0:34:43
catern
is this accurate? do you have any pointers on where to learn more about this? are there any good descriptions of how people do this?
0:36:00
catern
moon-child: probably for development, but probably not for a production instance of my application, right?
0:49:00
gilberth_
Mine is falling apart and 100km away. I just wanted to know whether PARSE-MACRO is doing what I recall it should do.
0:56:36
gilberth_
Gnuxie[m]: Silly me, sorry. I found a specification in CLtL2. I must have misremembered.
0:58:25
gilberth_
No. I misremembered and was looking at ANSI-CL, where it is not part of and forgot that CLtL2 also has a bunch of stuff not part of ANSI-CL.
1:00:10
gilberth_
Anyhow, I am implementing a full PARSE-MACRO now as I am tired of ad hoc broken definitions of mine.
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.