pranavats has left #commonlisp [Error from remote client]
nij- has joined #commonlisp
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ is now known as nij-
nij_ has joined #commonlisp
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has quit [Read error: Connection reset by peer]
nij- has joined #commonlisp
<nij->
I connect in a lisp X to a swank-server running in another lisp Y. How do I redirect the *standard-output* of Y to X?
semz has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
semz has joined #commonlisp
hackmykack has joined #commonlisp
hackmykack has quit [Client Quit]
hackmykack has joined #commonlisp
hackmykack has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
avocadoist has quit [Ping timeout: 260 seconds]
Pixel_Outlaw has joined #commonlisp
akoana has joined #commonlisp
waleee has quit [Ping timeout: 244 seconds]
akoana has quit [Quit: leaving]
nij- has quit [Ping timeout: 255 seconds]
nij- has joined #commonlisp
beepbooptheory has joined #commonlisp
jello_pudding has quit [Ping timeout: 260 seconds]
nij- has quit [Ping timeout: 248 seconds]
jello_pudding has joined #commonlisp
puke has quit [Read error: Connection reset by peer]
puke has joined #commonlisp
Lyrebird has quit [Ping timeout: 255 seconds]
AetherWind has joined #commonlisp
Guest3555 has joined #commonlisp
Guest3555 has quit [Quit: ()]
pranavats has joined #commonlisp
AetherWind has quit [Quit: Lost terminal]
zaymington has quit [Remote host closed the connection]
masinter has joined #commonlisp
LispTyro has quit [Ping timeout: 250 seconds]
sukaeto has quit [Ping timeout: 250 seconds]
LispTyro has joined #commonlisp
sukaeto has joined #commonlisp
zest has joined #commonlisp
beepbooptheory has quit [Remote host closed the connection]
<zest>
hello people, I want to know if there is any way to change a number into a character without code-char(because it is slow). It takes 120ms to copy pure UTF-8 bytes to a pre allocated string. I don't need to convert the utf8 bytes, I just want to copy them from a vector to a string.
<beach>
CODE-CHAR doesn't deal with UTF-8 as far as I know.
<beach>
And I am surprised it is slow. Did you inline it?
<zest>
beach: the octet-vector is big; some 2MB of data but it doesn't need conversion nor does it allocate, it should just copy...
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
<beach>
I think you need to study the assembly output. It is not clear to me that the problem is CODE-CHAR.
<beach>
It looks to me like you reversed the arguments to COPY-STR, no?
<zest>
beach: yes, silly mistake..
<beach>
Then all benchmarks are off, no?
<zest>
beach: I just tested out both, yes, indeed CODE-CHAR is not the issue.
<zest>
beach: but, should an octet-vector thats writing to another one take 40ms without any allocation??
<beach>
Are you now talking about COPY-VEC?
<zest>
beach: yes
<beach>
You may need to declare the type of those parameters in COPY-VEC.
<beach>
COPY-VEC would need to know that they are the same length and the elements they contain.
<beach>
Otherwise, COPY-VEC may need to figure out the size of each element at run-time, and it may have to check that VEC2 has as many elements as VEC1.
<beach>
Stuff like that.
<beach>
Plus, you may want to use a sequence function for that.
<beach>
Try using REPLACE instead for instance.
<zest>
beach: The reason I am not is because I was converting some binary data to UTF-8 using a special function
<beach>
So the code you show is not the code you want to use?
<zest>
beach: since I thought the bottleneck was CODE-CHAR; I didn't use replace because the sequences would have different internal types.
<zest>
beach: however the type declaration did help tons, now it is ~10ms.
<beach>
Also, strings are not represented as UTF-8, so I don't see how it is relevant here.
<zest>
beach: no, but it similar to the code I was using. Much of the UTF-8 data was ASCII so there was no need for conversion.
<zest>
beach: because the files I read are in octets, I convert the octets to utf-8(dfa algorithm) and write them to the string vector. The string vector would already be the same size as the file (some 2 to 3 megabytes) and all that is needed is some conversion
<zest>
I use this method because I wanted to buffer the IO instead of using read-char.. I know these are too many details but the jest of it is converting an octet-vector to a string-vector without allocation now takes 20ms, should it take less?
<zest>
all the function is doing is literally copying
<beach>
That's 10ns per element. I don't think you can expect better since you are probably seeing a lot of cache misses.
<beach>
The CHARACTER vector is probably 4 bytes per element for instance.
<beach>
You may want to try some subtype of CHARACTER.
triffid has joined #commonlisp
<beach>
So your octet vector is 2MB or so, but you character vector is probably 8MB. I don't know how big caches are these days, but this is sequential access of 10MB.
<zest>
beach: same times with EXTENDED-CHARACTER
<hayley>
Hardware prefetching should kick in for sequential access, in my experience with string twiddling.
<beach>
Yes, that's not the one you want.
<beach>
hayley: Ah, OK.
<hayley>
BASE-CHAR uses one byte per character in SBCL.
<beach>
So BASE-CHAR would probably be the better choice.
<zest>
hayley: but I cannot guarantee that all UTF-8 character are ASCII. What I can do is not process ASCII characters as UTF-8
<beach>
zest: Why do you keep bringing up UTF-8?
<hayley>
I see - I misread then. If you are really motivated, you could look into a faster UTF-8 decoding algorithm.
<zest>
beach: because I am writing a UTF-8 processor. UTF-8 contains ASCII and when a character is ASCII, you don't really have to convert it. It is just one byte.
<hayley>
But 100 Mcharacters/second isn't too bad.
<beach>
zest: You have an octet vector, and every value between 0 and 255 is a valid character that can be represented in one byte. If SBCL BASE-CHAR contains all those, then you should be fine.
<zest>
hayley: yes, I'll take that. 20 ms ain't all that bad.
<hayley>
If you expect to see mostly ASCII characters, you could come up with a fast path: check that none of the most significant bits of multiple characters are 1, and then store them into the string (after expanding 8 bit values to 32 bit).
<beach>
I don't understand. If there is an octet vector, why are we talking about UTF-8?
<beach>
Each element of the octet vector represents a character, right? Otherwise, CODE-CHAR is not the right thing to use.
<zest>
beach: no, not every byte represents a character. some bytes represent the variable length of a character(2, 3 or even 4 bytes)
<hayley>
But personally I don't like such tricks (moreso for performant code I intend for others to use), because anyone who wants to process text that isn't predominantly English might be surprised that decoding runs slower.
<beach>
zest: Then you can't use CODE-CHAR in the first place.
<hayley>
My understanding is zest is writing a UTF-8 decoder. And indeed, as beach says, using CODE-CHAR on each octet will not correctly decode UTF-8.
<beach>
I see. So the entire code was wrong in the first place.
<beach>
Nice!
<zest>
hayley: Yes, I am aware that CODE-CHAR will not decode each OCTET as a UTF-8 character. I preprocess each octet to see if it is a normal UTF-8 character and then use that in CODE-CHAR.
count3rmeasure has quit [Quit: Leaving]
<zest>
beach: no, the octet-vector simply holds the bytes from the files. The UTF-8 algorithm tests if each octet represents an ASCII or UTF-8, if it is UTF-8, it tries to convert the octet and following octets into a UTF-8 character.
<beach>
Well, I think the problem is solved.
<zest>
Yes, thank you both for your notes. I'll debug my original code as the problem wasn't with CODE-CHAR
<hayley>
Okay, so you are correctly decoding UTF-8 using an automaton. 10ns/element seems in the right ballpark for an automaton.
<beach>
Sure. And I advise against your OPTIMIZE settings.
zest has quit [Ping timeout: 245 seconds]
pranavats has left #commonlisp [Error from remote client]
Pixel_Outlaw has quit [Quit: Leaving]
<aeth>
never (safety 0)
pve has joined #commonlisp
waleee has joined #commonlisp
easye has quit [Ping timeout: 246 seconds]
dcb has quit [Quit: MSN Messenger 4.0.4]
binchicken has quit [Read error: Connection reset by peer]
binchicken has joined #commonlisp
rgherdt has joined #commonlisp
rtypo has quit [Ping timeout: 248 seconds]
tibfulv has quit [Remote host closed the connection]
wonko-the-sane has quit [Remote host closed the connection]
tibfulv has joined #commonlisp
wonko-the-sane has joined #commonlisp
rgherdt_ has joined #commonlisp
semz_ has joined #commonlisp
hrberg_ has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
damonkern3 has joined #commonlisp
srji has joined #commonlisp
srji has left #commonlisp [#commonlisp]
rgherdt has quit [*.net *.split]
pve has quit [*.net *.split]
jello_pudding has quit [*.net *.split]
ronald_ has quit [*.net *.split]
semz has quit [*.net *.split]
hrberg has quit [*.net *.split]
markb1 has quit [*.net *.split]
semz_ is now known as semz
pve has joined #commonlisp
waleee has quit [Quit: updating]
srji has joined #commonlisp
markb1 has joined #commonlisp
LW has joined #commonlisp
jello_pudding has joined #commonlisp
srji has quit [Read error: Connection reset by peer]
easye has joined #commonlisp
LW has quit [Client Quit]
srji has joined #commonlisp
srji has quit [Client Quit]
srji has joined #commonlisp
srji has quit [Client Quit]
srji has joined #commonlisp
srji has quit [Client Quit]
srji has joined #commonlisp
srji has quit [Client Quit]
srji has joined #commonlisp
shka has joined #commonlisp
srji has quit [Client Quit]
msavoritias has joined #commonlisp
srji has joined #commonlisp
srji has quit [Client Quit]
srji has joined #commonlisp
Inline has joined #commonlisp
srji has quit [Client Quit]
Cymew has joined #commonlisp
srji has joined #commonlisp
Inline has quit [Remote host closed the connection]
varjag has joined #commonlisp
srji has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
knusbaum has quit [Ping timeout: 248 seconds]
Inline has joined #commonlisp
binchicken has quit [Remote host closed the connection]
<hayley>
How many threads should I give the parallel garbage collector by default? At the moment the default is always four threads, which seems obviously wrong if you have fewer than four cores.
<hayley>
It might be too few or too many threads though, when you have more cores. It'd depend on the use-case, but a sensible default would be appreciated.
rainthree has quit [Ping timeout: 240 seconds]
rainthree has joined #commonlisp
attila_lendvai has quit [Ping timeout: 260 seconds]
donleo has joined #commonlisp
<Josh_2>
300
<hayley>
Have you a 300 core machine?
<mgl>
@hayley: For a default, it may be okay to determine an approximately okay number at run time.
<hayley>
By what criteria?
<hayley>
I also lack the ability to resize the thread pool, but that can be fixed.
<mgl>
By measuring how long garbage collection takes with +1/-1 thread (perhaps averaged over a number of interleaved gc sequences).
<Josh_2>
What about just making it 2 and letting people decide for themselves?
<mgl>
Shouldn't take very long to get to a good number, and the exploration frequency can be lowered.
<Josh_2>
I'm sure you could ask people really nicely to perform some benchmarks
<hayley>
mgl: The issue I have (which is why I won't just assign one GC thread per core and call it a day) is what happens when you introduce two processes, each with a parallel GC. Then what is sensible behaviour?
<hayley>
One GC might take the other application by surprise, by suddenly introducing more work for all cores to run. But perhaps that is only occasionally an issue.
<mgl>
hayley: Yeah, there is no good answer to that, but there may be a good one in the single process case.
<mgl>
The user needs some knobs, but I think it can be sensible for the default to maximise single-process performance.
habamax has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 246 seconds]
<mgl>
E.g. --max_threads 0.5 (use at most half the cores of the system) or --max_threads 7 (use at most 7 threads).
<hayley>
I believe the fastest default would then be one GC thread per core. The situation is different for a concurrent GC, as more collector threads would compete with app threads for processor time, slowing the application; but this collector is not concurrent, and there is no competition.
<mgl>
There is some synchronization between the GC threads, is there not?
<hayley>
There is, and the throughput increases less with more threads, but I've found throughput is monotonically increasing still.
<mgl>
How many cores did you try?
<hayley>
(So it might also be impolite to use all the cores when energy consumption is an issue.)
<hayley>
Up to 12.
AetherWind has quit [Quit: leaving]
<Josh_2>
Would it help to create a standard suite of benchmarks and ask different people to try it on different platforms?
<mgl>
--min_gc_thread_gain 0.01: Keep adding gc threads while GC is getting faster by 1%.
<hayley>
Josh_2: It's more about context. What should the default thread count achieve?
<hayley>
Should it go the fastest? Should it play nicely with other processes? Does power efficiency matter?
<mgl>
I think --min_gc_thread_gain or similar could be the right kind of quantity for a user to tweak and to express a default in.
<hayley>
It's a neat concept.
* hayley
goes to collect for the night.
yosef` has joined #commonlisp
<mgl>
Maybe it should be based on the effect on the overall application. Maybe it would be too unpredictable.
johnjaye has quit [Ping timeout: 260 seconds]
yosef` has quit [Quit: Client closed]
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
dino_tutter has quit [Ping timeout: 255 seconds]
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 246 seconds]
wonko-the-sane has quit [Ping timeout: 246 seconds]
blop has quit [Ping timeout: 246 seconds]
triffid has quit [Ping timeout: 246 seconds]
gxt has quit [Ping timeout: 246 seconds]
gxt has joined #commonlisp
wonko-the-sane has joined #commonlisp
blop has joined #commonlisp
nij- has quit [Ping timeout: 245 seconds]
kenran has quit [Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
zxcvz has joined #commonlisp
NicknameJohn has quit [Ping timeout: 246 seconds]
zxcvz has quit [Client Quit]
blop_ has joined #commonlisp
blop has quit [Ping timeout: 246 seconds]
triffid has joined #commonlisp
phoe_ has joined #commonlisp
<phoe_>
hello all, I might be spending a little bit more time around here again
<beach>
phoe_: Welcome back!
<phoe_>
beach: thanks
Inline has joined #commonlisp
Cymew has quit [Ping timeout: 246 seconds]
phoe_ has quit [Quit: Client closed]
Inline has quit [Quit: Leaving]
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
ronald has joined #commonlisp
igemnace has joined #commonlisp
eddof13 has joined #commonlisp
Inline has joined #commonlisp
igemnace has quit [Quit: WeeChat 4.0.4]
cage has quit [Remote host closed the connection]
<Josh_2>
phoe: :wave:
<Josh_2>
dbotton: is there anything intrinsically wrong with this code? https://plaster.tymoon.eu/view/3942#3942 When I click on the rule to inspect it, the same rules are displayed in the new window
<Josh_2>
I added breaks to inspect the values of category and rules, they are changing each iteration
<Josh_2>
When I put a break in #'inspect-rules, everytime I click on a category in my clog-gui its the same category and rules.. :thinking:
skin1 has joined #commonlisp
skin1 has quit [Remote host closed the connection]
yvm has joined #commonlisp
skin1 has joined #commonlisp
<Josh_2>
I wonder if its something to do with alexandria:doplist
<Josh_2>
Swapped to loop and I am still getting the same behaviour :thinking:
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Josh_2>
I checked the values that are closed over and those are correct as well :thinking:
eddof13 has joined #commonlisp
CARbon8 has joined #commonlisp
eddof13 has quit [Client Quit]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
tyson2 has quit [Remote host closed the connection]
eddof13 has joined #commonlisp
eddof13 has quit [Client Quit]
eddof13 has joined #commonlisp
CARbon8 has quit [Read error: Connection reset by peer]
donleo has quit [Ping timeout: 246 seconds]
mgl has quit [Quit: Client closed]
mrcom__ has quit [Remote host closed the connection]
mrcom__ has joined #commonlisp
robin has joined #commonlisp
skin1 has quit [Remote host closed the connection]
pranavats has joined #commonlisp
skin1 has joined #commonlisp
dcb has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
mooseball has joined #commonlisp
dino_tutter has joined #commonlisp
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
tyson2 has joined #commonlisp
donleo has joined #commonlisp
skin1 has quit [Ping timeout: 246 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
skin1 has joined #commonlisp
eddof13 has joined #commonlisp
skin1 has quit [Remote host closed the connection]
skin1 has joined #commonlisp
tychoish has quit [Server closed connection]
tychoish has joined #commonlisp
chrcav has quit [Quit: leaving]
Lycurgus has joined #commonlisp
nij- has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<Lycurgus>
apparently doug lenat is not that well known among modern practitioners
<Lycurgus>
his death gives way to the fact of his apparent obscurity for the contemporary computing masses imo
mrcom__ is now known as mrcom
thuna` has joined #commonlisp
skin1 has quit [Remote host closed the connection]
rainthree has quit [Quit: Leaving]
yvm has quit [Ping timeout: 245 seconds]
attila_lendvai has joined #commonlisp
msavoritias has quit [Remote host closed the connection]
jeosol has quit [Quit: Client closed]
tyson2 has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tyson2 has quit [Remote host closed the connection]
skin1 has joined #commonlisp
waleee has joined #commonlisp
azimut has quit [Ping timeout: 246 seconds]
blop has joined #commonlisp
Lycurgus has quit [Quit: Tschüss]
blop_ has quit [Ping timeout: 246 seconds]
_cymew_ has quit [Ping timeout: 255 seconds]
<masinter>
I was a grad student with Lenat
<Colleen>
masinter: beach said at 2023.07.22 06:07:19: In what way do you suggest we use Medley Common Lisp for SICL?
tyson2 has joined #commonlisp
Lycurgus has joined #commonlisp
<Lycurgus>
masinter, do you know the cause of death?
<Lycurgus>
(will see response if any on log, i presume cancer)
shka has quit [Ping timeout: 245 seconds]
skempf has quit [Server closed connection]
skempf has joined #commonlisp
NicknameJohn has joined #commonlisp
attila_lendvai has quit [Ping timeout: 246 seconds]
nij- has quit [Ping timeout: 245 seconds]
jello_pudding has quit [Ping timeout: 245 seconds]
nij- has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
pve has quit [Quit: leaving]
jello_pudding has joined #commonlisp
z4kz has quit [Server closed connection]
skin1 has quit [Quit: Leaving.]
z4kz has joined #commonlisp
skin1 has joined #commonlisp
mooseball has joined #commonlisp
mooseball has quit [Remote host closed the connection]
rgherdt_ has quit [Quit: Leaving]
monoidog has joined #commonlisp
rtypo has joined #commonlisp
thuna` has quit [Remote host closed the connection]
marsipan has quit [Server closed connection]
Lycurgus has quit [Quit: Tschüss]
jmdaemon has joined #commonlisp
marsipan has joined #commonlisp
ronald has quit [Ping timeout: 255 seconds]
random-nick has quit [Ping timeout: 246 seconds]
prokhor_ has joined #commonlisp
<prokhor_>
question: if i have a closure like: (setf ref-a (let (first "a")(second "b")(third "c"))) how do i set a value inside that closure inside that ref?
<prokhor_>
more so: if i have multiple references to closures: can i somehow "combine" their scopes?
dino_tutter has quit [Ping timeout: 255 seconds]
johnjaye has joined #commonlisp
<White_Flame>
without some low-level implementation accessors, your LET scope needs to build all the functionality it needs, like readers/writers for teh closed-over slots. You lose direct access to them once you close your LET paren
<prokhor_>
ok, i see.. and can i do sth like: (let (new-context (ref-a ref-b ref-c))) to combine them?
<White_Flame>
I don't undertsand the question
<prokhor_>
or do i have to loop over every value and add them?
eta has quit [Server closed connection]
eta has joined #commonlisp
<prokhor_>
if i have 3 such closure, referenced by eg (setf ref-a (let (...
eddof13 has joined #commonlisp
<bike>
your syntax is hard to understand.
<prokhor_>
and i would like to create a new context where a selection of those closures are valid?
<bike>
for one thing you haven't actually included any closures, those being functions within some lexical bindings
<White_Flame>
setf isn't really a reference, and the closed-over variables are "closed"
<White_Flame>
what you generally have are references to function objects, and those function objects have baked-in referenes to those closures
<ixelp>
How do I globally change a variable value within function in lisp - Stack Overflow
<prokhor_>
?
<prokhor_>
k.. i will work through that...
<prokhor_>
another question: is there some good explanation/tutorial about reader macros out there?
<White_Flame>
in that make-pointer example, tey're still in the same LET scope as the closure
conjunctive has quit [Server closed connection]
conjunctive has joined #commonlisp
<White_Flame>
that basically becomes local function support in that same lexical body
<prokhor_>
White_Flame: ok, thx... i think i will sth like (list (val-1 'foo) (val-2 'bar) (val-3 'baz)) and construct the "context" every time i need one...
<prokhor_>
its my try to implement cyc-microtheories btw..
<White_Flame>
IMO the best context/side-band data is dynamic bindings
<prokhor_>
thx, advice appreciated - will give it a look..
<prokhor_>
do you by chance know how thy did it in cycl?
<prokhor_>
they
<White_Flame>
that's a big question
skin1 has quit [Ping timeout: 250 seconds]
<White_Flame>
cycl is an implementation language of cyc, and cycl itself doesn't have microtheories, the inference system it implements does
masinter has quit [Ping timeout: 248 seconds]
masinter has joined #commonlisp
jeosol has joined #commonlisp
monoidog has quit [Ping timeout: 250 seconds]
<prokhor_>
White_Flame: I think i get the gist of that (will have to think about it though..)... can i imagiine that as eg. an additional aargument in every predicate in a set of prolog clauses? (as in: this clause only is valid in context nr x)? is it working with different databases for diffrerent mts?
<White_Flame>
the mechanism of inference always works with a set of active MTs
<White_Flame>
it does not chane the current predicates or queries, which can be evaluated under different sets of MTs
<prokhor_>
i remember you mentioning generic dispatch in that context - right?
<White_Flame>
MTs basically "page in" different sections of the knowledgebase
<White_Flame>
I don't think so
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jon_atack has quit [Ping timeout: 245 seconds]
jon_atack has joined #commonlisp
karlosz has quit [Quit: karlosz]
fengshaun_ has joined #commonlisp
fengshaun has quit [Ping timeout: 244 seconds]
donleo has quit [Ping timeout: 246 seconds]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ has joined #commonlisp
scymtym has quit [Remote host closed the connection]
Lord_of_Life_ is now known as Lord_of_Life
Brucio-61 has quit [Remote host closed the connection]