<asdf_asdf_asdf>
Hi. How change value local variable inside function?
<asdf_asdf_asdf>
(defun abc (a) (setf a 10)) (let ((a 5)) (abc a) (print a) #| 10 |#)
<no-defun-allowed>
You can use a special variable: (defvar *a*) (defun abc () (setf *a* 10)) ... (let ((*a* 5)) ...)
<asdf_asdf_asdf>
no-defun-allowed, I want using let.
<no-defun-allowed>
Special variables can be bound using LET.
<no-defun-allowed>
DEFVAR is required so that the function ABC knows it is going to modify a special variable, but you can also (declare (special *a*)) in every use of the special variable.
<LdBeth>
asdf_asdf_asdf: i guess you want to save 10 into a cons
zooey has quit [Ping timeout: 240 seconds]
emaczen` has joined #lisp
<no-defun-allowed>
Another option is to use a box (a small structure with one element, or a 0-dimensional array), but then you have to unbox the value to use it and have to setf the value of the box to modify it.
zooey has joined #lisp
<no-defun-allowed>
eg (defun abc (b) (setf (box-value b) 10)) (let ((a (box 5))) (abc a) (print (box-value a)))
fengshaun_ has joined #lisp
<no-defun-allowed>
(The implementations of BOX, (SETF BOX-VALUE) and BOX-VALUE are left to the reader)
<asdf_asdf_asdf>
Thanks all. Bu I want simple solution.
<asdf_asdf_asdf>
But*
<pjb>
asdf_asdf_asdf: write your own defun macro!
<pjb>
asdf_asdf_asdf: well, actually the problem is the function call, since it's pass by value.
<no-defun-allowed>
I gave you two; you can wrap it in a box or use a special variable.
<no-defun-allowed>
Another solution would be to create a closure and have the function call that to set the value: (defun abc (c) (funcall c 10)) (let ((a 5)) (abc (lambda (n) (setf a n))) (print a))
<pjb>
asdf_asdf_asdf: you could kludge it with defining defun defmethod let let* progv etc so that all the variables would be symbol-macrolets to closures.
<pjb>
asdf_asdf_asdf: you want to code in C.
Josh_2 has joined #lisp
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
gabiruh has joined #lisp
klltkr_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<asdf_asdf_asdf>
no-defun-allowed, OK. But I want, that in scope (defun abc (c) value was changed, not in scope (let ((a 5)).
<no-defun-allowed>
Modifying the binding for C that ABC gets won't affect the binding for whatever is in the LET.
<no-defun-allowed>
You need to pass the value through some kind of "box" as you would in C, or use a special variable to let ABC modify the binding established by LET.
<asdf_asdf_asdf>
How look "pass the value through some kind of "box"?
<no-defun-allowed>
As I said, (defun abc (b) (setf (box-value b) 10)) (let ((a (box 5))) (abc a) (print (box-value a)))
<no-defun-allowed>
The box can be a CONS (and the value its CAR), a structure with one value which is the box's value, or a 0-dimensional array whose only value is the box's value.
orivej has joined #lisp
<pjb>
asdf_asdf_asdf: you are being dumb. This is lexical, therefore the variables are know to YOU when you write the fucking code! Just use different variable names!
<Nilby>
I started working on it, but I got too bored.
vlatkoB has joined #lisp
<emaczen`>
Nilby: Are you an SBCL developer?
<Nilby>
No.
<Nilby>
It's actually not that hard for x96_64 because structs are passed fairly simply, but there are a bunch of edge cases, and to do it for all architectures is much harder.
rwcom6 has joined #lisp
<emaczen`>
I was just trying to use libffi, but I don't know where I went wrong...
Inline has quit [Quit: Leaving]
<Nilby>
CCL can pass structs, but CFFI doesn't know how to use it, so I started by developing a patch for that too.
<Nilby>
The only way I got libffi working on windows was to compile it under cygwin and the use it under non-cygwin.
<emaczen`>
Nilby: I just want SBCL on linux
rwcom has quit [Ping timeout: 268 seconds]
rwcom6 is now known as rwcom
* beach
strongly recommends programming in Common Lisp instead.
<Nilby>
Oh. On linux it just works for me. I don't know what I do wrong.
<emaczen`>
I can use libffi for other functions, but when it involves a struct, I either defined the C struct for libffi incorrectly or used the C struct incorrectly (probably the definition for libffi since I can use libffi in other cases just fine)
<emaczen`>
beach: It really is only a little bit of C I need, than a few wrappers and then +95% lisp!
<emaczen`>
Nilby: What do you mean by "it just works"?
shangul has joined #lisp
<Nilby>
I just realized maybe I don't really use anything that passes structs on linux. I think opengl interfaces use it though.
<Nilby>
Actually I don't even have cffi-libffi loaded on linux, so I must have only been forced to use it on window where you have to for kernel calls.
<Nilby>
"on windows" that is.
<emaczen`>
Nilby: I'm using GNUStep, and just about 10% of the methods use really only 4 structs NSPoint, NSRange NSSize and NSRect
<emaczen`>
there are like 2 or 3 other structs that I am aware of, but they aren't really even used
<Nilby>
Ah, right.
ahungry has quit [Remote host closed the connection]
<emaczen`>
Is $365 worth it for SBCL devs to solve this?
Cymew has quit [Ping timeout: 260 seconds]
<Nilby>
If you're on x86_64, you can try just reading it off the stack yourself. Small structs like NSPoint are usually just sitting on the stack.
<emaczen`>
Nilby: How do I get the address of the stack pointer?
raghavgururajan has quit [Remote host closed the connection]
harovali has quit [Read error: Connection reset by peer]
harovali has joined #lisp
<Nilby>
There's some way I forgot, but you can basically just do assembly instructions in lisp. I think in CCL it was already in a lisp variable.
<Nilby>
I'm probably not the right person to ask, since I hardly ever do such things, and only worked on it for a week during a fit of maddness.
<Nilby>
But I found looking at CCL code was very instructive, and it works quite well on MacOS with the objective-C stuff.
<emaczen`>
Nilby: Well, you are giving me good alternatives -- finding it on the stack makes sense to me. It is very much a lower-level solution that I am inexperienced with but I am aware of how some of these things work and it makes sense to me
dale has quit [Quit: My computer has gone to sleep]
Codaraxis has quit [Quit: Leaving]
<emaczen`>
Nilby: How do you do assembly instructions in Lisp?
<Nilby>
There's like a whole SB-ASSEM package that does it.
<Nilby>
sbcl mostly does i
<Nilby>
sbcl mostly does it with what it calls VOPs, You can see examples in say src/compiler/x86-64/arith.lisp
jello_pudding has quit [Read error: Connection reset by peer]
jellopudding has joined #lisp
zaquest has quit [Quit: Leaving]
<Nilby>
It seems like in every Lisp written in Lisp you can write assembly in lisp syntax at some level. ccl and sbcl do so, and even in the lisp machines you can drop down into the microcode.
zaquest has joined #lisp
<emaczen`>
Nilby: So from what I am looking at these VOPs define the base assembly instructions like move pop push etc, and then you can then use them in typical lisp prefix syntax?
<Nilby>
right
<emaczen`>
Nilby: Can I expect externed VOPs to be a "public" unchanging interface?
<Nilby>
I doubt it.
<emaczen`>
What can I expect, or do to try to achieve an unchanging interface?
<Nilby>
But sbcl and lisp interfaces do seem to stay compatible at least 10x longer than most software.
<emaczen`>
Yeah, it doesn't seem like something that would change a whole lot in my opinion but I don't really know what these SBCL devs are up to ha
<Nilby>
I'm not really the person to ask. Maybe some sbcl devs?
<emaczen`>
I guess I'll try it, I'll at least learn a lot about some of the internals of SBCL
<Nilby>
I would love to do that patch, but unfortunatly I get filled with disgust and anger when I look at aseembly code too much.
patrixl has quit [Quit: Leaving.]
nika has joined #lisp
oxum_ has joined #lisp
oxum has quit [Read error: Connection reset by peer]
<emaczen`>
Nilby: Make a bunch of abstractions first? Or it looks like if you just do a little bit at a time you would finish before anyone else does...
<p_l>
Nilby: that goes at least as far back as MACLISP
<Nilby>
Yes. Probably also Lisp 1.5 too.
<Nilby>
But PDP instructions irk me much less than Intel.
<beach>
The "assembler" I am using for SICL doesn't have a surface syntax, so it would be impractical for humans to use it.
<beach>
The program would look like (list (make-instance ...) (make-instance ...) ...)
<Nilby>
beach: Nice. Can't be forced to program in it if there's no syntax, right? *finger pointing at head meme*
<beach>
Exactly. But that's not the main objective. The main objective is to provide a good interface for the code generator of the compiler.
<beach>
It seems silly to generate surface syntax, only to have to parse it immediately after.
<beach>
Also, if the protocol at this level is well defined, it would be straightforward to provide one or more versions of the surface syntax, should someone feel like programming such a thing.
<Nilby>
It seems like you usually have to tell it where to find the C compiler, like: export CC=c:/cygwin64/bin/x86_64-w64-mingw32-gcc.exe or something.
Khisanth has joined #lisp
grabarz has joined #lisp
william1 has joined #lisp
cmatei has joined #lisp
EvW has joined #lisp
shangul has joined #lisp
v88m has quit [Ping timeout: 258 seconds]
jfb4 has joined #lisp
jfb4_ has quit [Ping timeout: 272 seconds]
cosimone has joined #lisp
vap1 has joined #lisp
shangul has quit [Ping timeout: 260 seconds]
vaporatorius__ has quit [Ping timeout: 240 seconds]
oxum_ has quit [Read error: Connection reset by peer]
oxum has joined #lisp
jebes has quit [Ping timeout: 272 seconds]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
tiwEllien has joined #lisp
cosimone has quit [Remote host closed the connection]
heisig has joined #lisp
papachan has joined #lisp
stepnem has joined #lisp
gareppa has joined #lisp
shifty has joined #lisp
stepnem_ has quit [Ping timeout: 272 seconds]
oxum has quit [Remote host closed the connection]
dddddd has joined #lisp
stepnem_ has joined #lisp
Lord_of_Life_ has joined #lisp
oxum has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
stepnem has quit [Ping timeout: 258 seconds]
Lord_of_Life_ is now known as Lord_of_Life
gareppa has quit [Remote host closed the connection]
oxum has quit [Remote host closed the connection]
stepnem has joined #lisp
stepnem_ has quit [Ping timeout: 258 seconds]
akoana has left #lisp ["Leaving"]
EvW has quit [Quit: EvW]
EvW1 has joined #lisp
slyrus has quit [Remote host closed the connection]
slyrus has joined #lisp
avicenna has quit [Read error: Connection reset by peer]
mgsk has quit [Read error: Connection reset by peer]
parisienne_ has joined #lisp
grobe0ba_ has joined #lisp
mgsk has joined #lisp
mnmx has joined #lisp
jsatk has joined #lisp
grobe0ba_ is now known as grobe0ba
gjnoonan has joined #lisp
ebzzry has quit [Ping timeout: 240 seconds]
rumpelszn has quit [Ping timeout: 258 seconds]
xkapastel has joined #lisp
gabiruh has joined #lisp
keep_learning has quit [Quit: Ping timeout (120 seconds)]
rumpelszn has joined #lisp
lowryder has quit [Ping timeout: 258 seconds]
oxum has joined #lisp
klltkr has joined #lisp
cg505 has quit [Ping timeout: 258 seconds]
cg505 has joined #lisp
lowryder has joined #lisp
mnmx has quit [Remote host closed the connection]
dddddd has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
oxum has quit [Remote host closed the connection]
gabiruh has quit [Ping timeout: 252 seconds]
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Necktwi_ has joined #lisp
cosimone has joined #lisp
oxum has joined #lisp
gko_ has joined #lisp
gabiruh has joined #lisp
dddddd has joined #lisp
william1 has quit [Quit: WeeChat 1.9.1]
oxum has quit [Remote host closed the connection]
jmercouris has joined #lisp
shangul has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
seok has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 265 seconds]
asdf_asdf_asdf has joined #lisp
amerlyq has joined #lisp
jmercouris has quit [Remote host closed the connection]
jmercouris has joined #lisp
Nilby has quit [Read error: Connection reset by peer]
random-nick has joined #lisp
amerlyq has quit [Ping timeout: 260 seconds]
samlamamma has joined #lisp
amerlyq has joined #lisp
<samlamamma>
I'm doing some work on WebAssembly. It's very frustrating to read non-lisper's WASM, they spread their right parens around like discarded toe nails
EvW1 has quit [Ping timeout: 245 seconds]
_jrjsmrtn has joined #lisp
nika_ has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 268 seconds]
jonatack has quit [Read error: Connection reset by peer]
lucasb has joined #lisp
<Odin->
"It's the same as block scoping, right?"
oldtopman has quit [Remote host closed the connection]
<Odin->
They need to get their act together on the GC and shared linking stuff.
jonatack has joined #lisp
mercourisj has joined #lisp
jmercouris has quit [Ping timeout: 268 seconds]
Duuqnd has quit [Quit: Leaving]
oxum has joined #lisp
oxum_ has joined #lisp
oxum has quit [Remote host closed the connection]
cosimone has quit [Ping timeout: 268 seconds]
oxum_ has quit [Remote host closed the connection]
oxum has joined #lisp
<harovali>
beach: no-defun-allowed: thanks
<harovali>
i killed the buffer and restarted slime without creating another inferior lisp
<beach>
What I usually do when I write a CLIM application, I include a command that starts Clouseau on the frame or on a pane.
vaporatorius__ has joined #lisp
<p_l>
Odin-: there's a significant benefit if one wants to implement GC themselves in that multivalue is getting actually implemented
vap1 has quit [Ping timeout: 240 seconds]
<Odin->
p_l: As I understand it, that's considered a base for the in-platform GC stuff.
<p_l>
it's one of the requirements
<p_l>
it's also a requirement for a bunch of other things
<p_l>
because it allows to write code that doesn't use `locals`
oxum_ has joined #lisp
oxum has quit [Ping timeout: 265 seconds]
<harovali>
beach: interesting , thanks
papachan has quit [Ping timeout: 265 seconds]
FreeBirdLjj has joined #lisp
refpga has joined #lisp
<pjb>
minion: memo for emaczen: lisp itself is just an assembler. Just avoid the most sophisticated macros (or consider lisp as a macro assembler and use them!). See for example: https://groups.google.com/forum/#!msg/comp.lang.lisp/T3UZwLoN0lw/4r9q_8cwKoQJ THIS IS YOUR STABLE ASSEMBLER!
<minion>
Remembered. I'll tell emaczen when he/she/it next speaks.
papachan has joined #lisp
samlamamma has quit [Ping timeout: 265 seconds]
papachan has quit [Client Quit]
papachan has joined #lisp
heisig has quit [Quit: Leaving]
mangul has joined #lisp
shangul has quit [Ping timeout: 248 seconds]
refpga has quit [Read error: Connection reset by peer]
oxum_ has quit [Remote host closed the connection]
mangul has quit [Ping timeout: 258 seconds]
igemnace has quit [Quit: WeeChat 2.7]
tiwEllien has quit [Ping timeout: 268 seconds]
ebrasca has joined #lisp
brown121408 has quit [Read error: Connection reset by peer]
oxum has joined #lisp
asdf_asdf_asdf has quit [Remote host closed the connection]
brown121407 has joined #lisp
oxum has quit [Ping timeout: 258 seconds]
jonatack has quit [Ping timeout: 268 seconds]
oxum has joined #lisp
oni-on-ion has quit [Remote host closed the connection]
oni-on-ion has joined #lisp
oxum has quit [Ping timeout: 265 seconds]
tiwEllien has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
yottabyte has joined #lisp
yottabyte has left #lisp [#lisp]
asdf_asdf_asdf has joined #lisp
jack_rabbit has joined #lisp
mangul has joined #lisp
ebrasca has quit [Remote host closed the connection]
oxum has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
v88m has joined #lisp
Cymew has quit [Ping timeout: 268 seconds]
papachan has quit [Ping timeout: 265 seconds]
Odin- has quit [Read error: Connection reset by peer]
oxum has quit [Ping timeout: 268 seconds]
madage has quit [Ping timeout: 240 seconds]
vap1 has joined #lisp
vaporatorius__ has quit [Ping timeout: 240 seconds]
jack_rabbit has quit [Ping timeout: 265 seconds]
EvW has joined #lisp
madage has joined #lisp
amerlyq has quit [Quit: amerlyq]
varjagg has joined #lisp
amerlyq has joined #lisp
varjag has quit [Remote host closed the connection]
varjagg is now known as varjag
pfdietz has joined #lisp
cosimone has joined #lisp
statusf90 has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
efm has quit [Read error: Connection reset by peer]
efm has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
pnp has joined #lisp
oxum has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
scymtym has joined #lisp
<pnp>
is there any way to interrupt a running process in the slime-repl? I have that process that is not terminating and i would like to kill it (stop the running operation) it from Emacs...
<beach>
C-c C-c should work.
mingus has quit [Ping timeout: 265 seconds]
<pfdietz>
I had some trouble with that running sbcl from slime under WSL.
slyrus_ has joined #lisp
pnp has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 272 seconds]
cosimone has quit [Quit: Terminated!]
slyrus__ has joined #lisp
smazga has joined #lisp
asarch has joined #lisp
jonatack has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
cosimone has joined #lisp
oxum has quit [Ping timeout: 258 seconds]
gioyik has joined #lisp
oxum has joined #lisp
gko_ has quit [Ping timeout: 265 seconds]
Necktwi_ has quit [Ping timeout: 265 seconds]
gxt has quit [Ping timeout: 240 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
oxum has quit [Ping timeout: 240 seconds]
slyrus_ has joined #lisp
oxum has joined #lisp
amerlyq has quit [Quit: amerlyq]
slyrus__ has quit [Ping timeout: 258 seconds]
mn3m has joined #lisp
amerlyq has joined #lisp
flamebeard has quit []
davepdotorg has quit [Remote host closed the connection]
ym has joined #lisp
oxum has quit [Ping timeout: 260 seconds]
karlosz has joined #lisp
oxum has joined #lisp
varjag has joined #lisp
jellopudding has quit [Remote host closed the connection]
jellopudding has joined #lisp
karlosz has quit [Quit: karlosz]
cosimone_ has joined #lisp
cosimone has quit [Ping timeout: 248 seconds]
tiwEllien has quit [Ping timeout: 268 seconds]
cosimone_ has quit [Client Quit]
hhdave has quit [Quit: hhdave]
slyrus__ has joined #lisp
slyrus_ has quit [Ping timeout: 260 seconds]
Josh_2 has joined #lisp
<jmercouris>
pfdietz: OK
<jmercouris>
pfdietz: does it work?
papachan has joined #lisp
<jackdaniel>
there is a certain medium value of "work" for which it does!
<jmercouris>
well well well! perhaps a windows port will never be necessary!
<jackdaniel>
you talk as if sbcl were not ported to windows already
<jmercouris>
I thought windows support was poor
<pfdietz>
It works well enough. If I really need to interrupt it I go to the Ubuntu window and kill -SIGSEGV its pid.
jellopudding has quit [Remote host closed the connection]
jello_pudding has joined #lisp
efm has quit [Ping timeout: 268 seconds]
nowhere_man has quit [Ping timeout: 272 seconds]
efm has joined #lisp
jellopudding has joined #lisp
znebula has joined #lisp
brown121407 has quit [Ping timeout: 258 seconds]
jello_pudding has quit [Ping timeout: 260 seconds]
jmercouris has quit [Remote host closed the connection]
brown121407 has joined #lisp
rippa has joined #lisp
jellopudding has quit [Ping timeout: 260 seconds]
<galdor>
"When rounding up and rounding down would produce printed values equidistant from the scaled value of arg, then the implementation is free to use either one."
<galdor>
at least it's clearly specified :)
jello_pudding has joined #lisp
jello_pudding has quit [Read error: Connection reset by peer]
<Bike>
i'm more surprised that ccl and sbcl actually give different results
jello_pudding has joined #lisp
<Bike>
different float printing algorithms, i guess?
<pjb>
sjl: https://termbin.com/z3fb some use banker's rounding, some don't. See which one you want to avoid rounding hacking…
<pjb>
Again, ccl and clisp are the best…
asarch has quit [Quit: Leaving]
harovali1 has quit [Quit: Leaving.]
gioyik has quit [Read error: Connection reset by peer]
gioyik has joined #lisp
quazimodo has quit [Ping timeout: 272 seconds]
quazimodo has joined #lisp
brown121407 has joined #lisp
emys has joined #lisp
EvW has quit [Ping timeout: 248 seconds]
quazimodo has quit [Ping timeout: 258 seconds]
sjl has quit [Quit: WeeChat 2.2-dev]
slyrus_ has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
Codaraxis has joined #lisp
emys has quit [Ping timeout: 240 seconds]
EvW1 has joined #lisp
emys has joined #lisp
tiwEllien has quit [Ping timeout: 265 seconds]
<jackdaniel>
is there a good reason /not/ to use stream-file-position from gray streams for gray streams which are not files?
<jackdaniel>
unfortunately there is no stream-position in gray protocol afaik (however clisp defines it in gray package)
<jackdaniel>
by using I mean: implement
<no-defun-allowed>
The first thing that comes into mind is a stream that puts out random values.
<jackdaniel>
I don't understand, could you elaborate please?
<no-defun-allowed>
It's silly, but one could implement a stream where stream-read-byte returns (random 256), and a position might not be meaningful there; but you could just count the bytes read and use that as a "position"
<jackdaniel>
my use is a little more specific. in clim there are standard-extended-input-stream's -- stream-read-gesture moves the position forward, so a next character from the input buffer will be read
<jackdaniel>
that seems like a perfect case for stream-position (which doesn't exist)
<jackdaniel>
I can create my own function, that is not a problem, I was just wondering if using stream-file-position has some hidden gotchas I'm not aware of
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
emys has quit [Ping timeout: 272 seconds]
vms14 has joined #lisp
<Shinmera>
jackdaniel: I suppose the expectation might be there that you can change the position to seek, too
<Shinmera>
which typically does not apply
gabiruh has quit [Ping timeout: 248 seconds]
<jackdaniel>
no-defun-allowed: Shinmera: thank you for your remarks, both points are interesting.
varjag has quit [Quit: ERC (IRC client for Emacs 26.1)]
emys has joined #lisp
madage has quit [Ping timeout: 240 seconds]
madage has joined #lisp
emys has quit [Ping timeout: 268 seconds]
nowhereman_ has quit [Ping timeout: 258 seconds]
Bike has quit [Quit: Bike]
papachan has quit [Ping timeout: 268 seconds]
emys has joined #lisp
random-nick has quit [Ping timeout: 258 seconds]
statusf90 has quit [Quit: statusf90]
statusf90 has joined #lisp
bitmapper has quit [Remote host closed the connection]
emys has quit [Ping timeout: 272 seconds]
bitmapper has joined #lisp
bitmapper has quit [Ping timeout: 258 seconds]
bitmapper has joined #lisp
smazga has joined #lisp
emys has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
ebrasca has quit [Remote host closed the connection]
harovali has joined #lisp
harovali1 has joined #lisp
smazga has quit [Ping timeout: 268 seconds]
harovali has quit [Ping timeout: 265 seconds]
emys has quit [Ping timeout: 260 seconds]
quazimodo has joined #lisp
wxie has joined #lisp
Bike has joined #lisp
vms14 has quit [Remote host closed the connection]
sjl has joined #lisp
gabiruh has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
Codaraxis has quit [Read error: Connection reset by peer]
malfort_ has joined #lisp
malfort has quit [Read error: Connection reset by peer]