libera/#lisp - IRC Chatlog
Search
23:04:07
holycow
the problem is, when i am in sbcl and run a demo it looks like running each of the demos creates a socket connection to the demo and the sbcl command line is "captured" by the process
23:04:32
holycow
so i don't get a new sbcl line where i could dump the image, i get: * New connection id - 42 - #<SERVER {100510C693}>
23:16:21
holycow
my sbcl session doesn't give me a new prompt though where i can enter commands. it just dumps me to a new line and "waits" there
23:17:43
holycow
is there a way of running lisp code from a prompt in a way that gives up control over the sbcl prompt so you can continue doing things like dump the image?
23:37:14
pjb
It's preferable to dump images in the most pristine state, after having just loaded compiled files. (not after having compiled them, since compilation can leave spurious cruft, and not after having run examples or tests or other things, since that can also leave some cruft).
23:37:58
pjb
Then, if you plan to run programs that take over the repl, using the terminal, you could prepare the image by loading a swank server, and set it up to start the swank server upon booting.
23:40:42
pjb
well, when I do that, even start sbcl --no-user-init and load explicitely ~/quicklisp/setup.lisp to avoid loading the cruft from your rc files.
23:41:22
pjb
You can also load swank and start a swank server from the repl manually before running the examples, to try it out.
23:42:27
holycow
that is kind of what i want to learn to do. i think i know what to google docs on now
1:00:35
Mondenkind
Spawns_Carpeting: I assume that by 'keyword' you mean something like IF not something like :key?
1:02:15
Mondenkind
they could not be functions, because they need to control evaluation. (They might be macros, which wrapped their operands in a lambda, but that would be a pointless obfuscation.)
1:07:35
Mondenkind
(or--perhaps they are not built-in. But more than likely they will refer to builtin special operators)
1:52:54
White_Flame
Spawns_Carpeting: at compile-time, when grabbing a sexpr, it checks the head symbol to see if it's a macro, special operator, etc, as well as the local environment for FLET/LABELS to see what sort of form it is
1:57:42
White_Flame
if a special form or macro is not defined when a form using that name is compiled, then it will treat it as a normal function (which might cause an error).