robin_ has quit [Remote host closed the connection]
robin has joined #commonlisp
Psybur has quit [Remote host closed the connection]
srhm has quit [Read error: Connection reset by peer]
srhm has joined #commonlisp
robin has quit [Ping timeout: 252 seconds]
Lycurgus has quit [Ping timeout: 260 seconds]
robin has joined #commonlisp
akoana has joined #commonlisp
robin has quit [Ping timeout: 252 seconds]
igemnace has quit [Remote host closed the connection]
robin has joined #commonlisp
ec has joined #commonlisp
cyberbanjo has joined #commonlisp
Spawns_Carpeting has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
lotuseater has quit [Quit: ERC (IRC client for Emacs 27.2)]
Bike has quit [Quit: Lost terminal]
kakuhen_ has joined #commonlisp
kakuhen has quit [Ping timeout: 252 seconds]
akoana has left #commonlisp [#commonlisp]
prxq has quit [Ping timeout: 252 seconds]
prxq has joined #commonlisp
karlosz has joined #commonlisp
terrorjack has quit [Read error: Connection reset by peer]
kuler has joined #commonlisp
kuler has quit [Remote host closed the connection]
kuler has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
doyougnu has quit [Ping timeout: 252 seconds]
<beach>
Good morning everyone!
<semz>
good morning
kuler has quit [Remote host closed the connection]
kulernil has joined #commonlisp
zazzerino has quit [Ping timeout: 252 seconds]
semz has quit [Ping timeout: 246 seconds]
semz has joined #commonlisp
kulernil has quit [Quit: Leaving]
karlosz has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
jealousmonk has quit [Quit: ERC (IRC client for Emacs 27.1)]
<dieggsy>
mernin
<dieggsy>
beach: you almost always say good morning exactly as I'm off to bed. fun how uh, timezones exist or something I guess lol
<dieggsy>
or well, an hour or two before
<beach>
Right, time zones do exist, or so I hear.
<White_Flame>
also circadian rhythms, for some
<hayley>
"Time zones? You mean the musique concrete piece arranged by that British synth band?"
lisp123 has joined #commonlisp
<hayley>
A few years ago, one of my friends in Europe would go to bed about an hour before beach greeted everyone.
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
lisp123 has joined #commonlisp
CptKirk has quit [Ping timeout: 256 seconds]
taiju has joined #commonlisp
ec has quit [Ping timeout: 276 seconds]
ec has joined #commonlisp
kuler has joined #commonlisp
kuler has quit [Quit: Leaving]
karlosz has quit [Ping timeout: 252 seconds]
edgar-rft has quit [Quit: Leaving]
shka has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
asarch has joined #commonlisp
<asarch>
What would be the reason for the evaluator so you could use a variable *without* actually not declared it before?
<asarch>
Too much macros?
<beach>
asarch: Er, hold on a sec...
<mfiano>
That is undefined behavior
<beach>
Do you mean the fact that you need DEFPARAMETER or DEFVAR first?
* moon-child
is unable to parse the question
<beach>
asarch: Those are not "declarations". They are "definitions".
<asarch>
I mean, I have a piece of code where you can actually do directly (setf tacos 10) without (let (tacos) …) before
<beach>
asarch: And the reason is to make life easier for the programmer. If you didn't require those definitions, a simply typo would give some errors that can be very hard to find.
<beach>
asarch: Then that variable refers to a global one.
<mfiano>
Actually it is UB
<beach>
asarch: The system can't guess that you meant to introduce a lexical variable.
<asarch>
There is no (defparameter …) or any other before
<beach>
asarch: Exactly.
<beach>
asarch: So the variable doesn't exist. And if it doesn't, what should the compiler guess that you want?
<beach>
asarch: Please answer the questions and recognize that you understood the arguments.
<asarch>
What questions?
<beach>
You need to read what was directed to you and that ended with `?'. I am not going to repeat.
<asarch>
I mean, as far I know, you can't directly do (setf tacos 10), right?
<beach>
asarch: Please answer the questions and recognize that you understood the arguments.
<asarch>
"Do you mean the fact that you need DEFPARAMETER or DEFVAR first?" <- No, I don't
<beach>
asarch: If you are not listening, how do you expect to get help?
cosimone has joined #commonlisp
<asarch>
"what should the compiler guess that you want?" <- Does it guess your code?
<mfiano>
Sigh
<beach>
asarch: Should the compiler guess that you want a lexical variable or a special variable?
<asarch>
Should it guess it?
<moon-child>
asarch: it was a rhetorical question. Beach was saying that the compiler should not guess what you want; or that if the compiler has to guess, it could very easily guess incorrectly, and so you should not force it to
<beach>
asarch: It has to generate code, so what code do you think it should generate? A reference to a lexical variable (which would be in a register) or a reference to a special variable (which would be an entry in the dynamic environment)?
<beach>
asarch: And if the answer is "a lexical variable" what scope should it guess? The entire function? Just the SETF form? Something in between, and if so which scope?
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<beach>
asarch: If I have (let ((a 10)) (let ((b 20)) (setf x 2)) (setf x 3)) do I have two variables X, i.e. one for each LET?
<asarch>
Ok
<beach>
asarch: And there is still the argument of typos, that you probably didn't read.
<asarch>
But, if you have: (let ((beers 10)) (setf tacos 10) …), is this ok?
<beach>
asarch: If I have (let (lskjfskdjflskjdfl) (setf lskjfskdjflsjdfl 10)), should the compiler silently create the second variable even though I made a typo?
<asarch>
Will it?
<beach>
I am asking what you would prefer.
<beach>
asarch: Every variable must be defined before it is used, or else you have undefined behavior, and that is for very good reasons.
<pjb>
asarch: A better question would be: what should the compiler do if you write: (let ((legs 4)) (setq leqs 6) (let ((a (make-animal legs))) (dotimes (i leqs) (attach-foot a i)))) ?
<pjb>
asarch: legs is defined; leqs is not. If the compiler assume it's a variable, and assigns it, and then use it, attach-foot will be called with an invalid pre-condition!
<beach>
asarch: The very good reason is that it helps the programmer avoid many hours of debugging for simple typos.
<asarch>
What should it do with something like?: (let ((beers 10)) (setf tacos 10) …)
<beach>
asarch: Preferably an error message, or at least a warning.
<mfiano>
asarch: A compiler never guesses anything. If it did, much time would be wasted of the user's.
<mfiano>
It's job is to generate reliable machine code.
<mfiano>
Its*
<pjb>
asarch: of course, it is obvious that there's a typo there. If you let the compiler assume undefined variables, it won't be able to catch typoes.
taiju has quit [Ping timeout: 252 seconds]
<mfiano>
asarch: That form you pasted is undefined behavior. As for what it should do, is absolutely anything, from nothing at all, to launching nethack.
<mfiano>
Undefined is undefined.
<moon-child>
the classic example is nasal demons
<asarch>
So, I could do something like (let ((beers 10)) (setf tacos 10) (format t "Yesterday, I ate ~d tacos~%" tacos) …) and then eventually work?
<mfiano>
No
<asarch>
No?
<mfiano>
TACOS was never defined
<asarch>
But in my code it works
<asarch>
Even in my SBCL
<mfiano>
Because undefined behavior made your code lucky
<mfiano>
It is undefined whether that warning is even emitted, or what happens at all.
moon-child has left #commonlisp [too much straw]
<asarch>
As you can see in the last paste, I never declared taco and eventually I could use it later
<asarch>
Is this normal?
<mfiano>
asarch: This channel is about Common Lisp code. If you want to know what any old implementation will do, and to get guarantees about the future behavior, you must be BDFL of that implementation.
<asarch>
?
<beach>
asarch: You can't determine what the language allows by testing a particular implementation. You must read the standard, or believe people who read it already.
<beach>
asarch: The fact that it works in one implementation means nothing.
<asarch>
Did you see the paste? It is SBCL 2.1.8
<beach>
asarch: You can't determine what the language allows by testing a particular implementation. You must read the standard, or believe people who read it already.
<beach>
asarch: The fact that it works in one implementation means nothing.
<mfiano>
Of course we did
<mfiano>
Do you not understand what we are telling you?
<mfiano>
Do you know the difference between a standard and an implementation?
<asarch>
Are you telling that SBCL actually permits to use variables without actually not declared them before?
<asarch>
The standard would be a piece of paper
<mfiano>
No. I'm telling you that SBCL can do anything, including rolling a die and deciding based on that, because the standard it implements allows for anything.
<beach>
asarch: For all practical purposes, the Common Lisp HyperSpec is the standard.
<mfiano>
If you want to code in SBCL, then you are ignoring one of the major benefits of Common Lisp.
<asarch>
I didn't know that
<asarch>
What should I use then?
<asarch>
I didn't know that SBCL was the Evil
<mfiano>
Either defvar of defparameter, depending on the semantics you require. Note that Common Lisp has no global variables. They are special and should be annotated as such by using the earmuff convention.
<asarch>
I thought it was the perfect representation of Common Lisp
<mfiano>
You are completely missing the point. SBCL is a very fine implementation.
<asarch>
Akuma no SBCL
<beach>
asarch: Every language standard contains situations that are undefined. Often because it is too costly or even impossible to check the situation. Then an implementation is free to define that behavior.
<beach>
asarch: Surely, this can't be the first time you encounter this idea.
<asarch>
Does your implementation support QuickLisp?
<beach>
Me? I don't have an implementation.
<mfiano>
asarch: What I meant about SBCL, was that one should not code for SBCL behavior, that is subject to change at any time, but for Common Lisp the ANSI standard, which all implementations are bound by.
* asarch
feels like if he was in a middle of a Mandela Effect…
gaqwas has joined #commonlisp
<beach>
asarch: For example, in C it is undefined behavior to have a pointer that points beyond the end of the array in memory. But checking for that is undecidable.
<asarch>
But… you can't actually use a variable without actually not declared it before, right?
<mfiano>
You might be able to. The standard doesn't specify. Why subject your beautiful code to luck?
<beach>
asarch: Do you actually read what I wrote? You need to DEFINE the variable. Nothing to do with DECLARING it.
<asarch>
Yeah, yeah. I mean, defined before
<beach>
asarch: A lexical variable is DEFINED using LET or something similar. A special variable is DEFINED using DEFVAR or DEFPARAMETER.
<beach>
asarch: Please make sure you use correct terminology.
<asarch>
But you get the idea, right?
<asarch>
Can I use a variable without actually not defined before?
<beach>
asarch: Are you listening at all?
<beach>
asarch: Using a variable before defining it is UNDEFINED BEHAVIOR. If you want your program to conform to the STANDARD, then you must DEFINE your variables before you refer to them.
<beach>
asarch: If you don't care whether your program is conforming, you can do whatever the implementation allows you to do, but then it is no longer #commonlisp material, but #sbcl or #ccl, or...
<asarch>
Just to finish this: so, you could eventually use a undefined variable but you should not do that, right?
<mfiano>
YOU CANNOT
<mfiano>
NOT IN COMMON LISP
* beach
gives up.
<saturn2>
in SBCL you can, but it will print a warning. if you rely on this your code may not work in other implementations.
<asarch>
Bingo!
<asarch>
Thank you!
<asarch>
Domo arigatou saturn2 Sensei!
<saturn2>
just the facts, ma'am
<asarch>
Ok, next question: is there a way to make SBCL more restricted about this?
<asarch>
Ma'am? Whose ma'am is this?
<jackdaniel>
implicit variable definition is a common behavior among implementations, so discussing it here is no less outrageous than discussing behavior of dynamic bindings in multi threaded implementations
<asarch>
I see
<jackdaniel>
either way people will scoff at you if you don't declare the variable beforehand
<jackdaniel>
because it is a clear sign of a bad style
<mfiano>
I disagree with that wording, but whatever drives the answer home.
<saturn2>
asarch: you can do (setf *break-on-signals* 'warning)
hendursa1 has joined #commonlisp
<asarch>
Thank you!
<asarch>
BTW, are there any other implementations? Most of them are dead and the rest are not even finished yet :-(
<jackdaniel>
I don't think that it is a good idea to _brag_ about ones ignorance
<pjb>
beach: even the fact that all implementations return the same thing. For example, what do you think of this: https://termbin.com/1azd8
<saturn2>
i believe clozure and ECL are uncontroversially alive and finished
<mfiano>
LispWorks, Allegro, ABCL, Clasp, Clozure, CMUCL, SBCL, CLISP, ECL, to name a few
<jackdaniel>
and there are arguably more complete and maintained (depends on what criteria you put behind these words)
<beach>
pjb: Sure.
amb007 has quit [Ping timeout: 252 seconds]
taiju has joined #commonlisp
amb007 has joined #commonlisp
<mfiano>
Wonder why CMUCL is not listen
<mfiano>
listed*
<asarch>
Anyone here uses LispWorks at home?
<jackdaniel>
mfiano: good point, I'm positive that it is continously maintained
<mfiano>
It very much is
rgherdt_ has joined #commonlisp
cognemo has quit [Ping timeout: 252 seconds]
karlosz has quit [Ping timeout: 252 seconds]
<asarch>
I activated (setf *break-on-signals* 'warning) and now the code is a mess: no way to determine the lambda list for #<STANDARD-GENERIC-FUNCTION ELEMENTOS:RENDEREAR (0)>
<asarch>
That's great, isn't it?
cognemo has joined #commonlisp
karlosz has joined #commonlisp
cage has joined #commonlisp
<pve>
I've now written a number of fun and adventurous reader hacks with Eclector, and it's been very exciting. But I'm concerned that they don't integrate well with editors. Would it be possible (in the future) to let something like Second Climacs know how to handle any reader modifications the user chooses to load? (i.e. tell it "please use this client when parsing this buffer")
<pve>
or is it designed to only ever parse standard Common Lisp?
<beach>
That is definitely the plan.
<beach>
The buffer parser uses Eclector.
<pve>
beach: yes, that was my understanding
<pve>
which made me hopeful
<beach>
The exact way we communicate the readtable to Eclector has not been determined, but I am sure we will find a reasonable way.
<pve>
and it's good to hear that it's most likely going to work
<pve>
sure
<pve>
for instance, I implemented SBCL's extended package prefix syntax, and that isn't legal CL as far as I know
<beach>
This is what makes Second Climacs stand apart from all other Common Lisp editors.
<pve>
so parser would choke on that
<beach>
I believe it's the only editor that uses a conforming Common Lisp reader to parse the contents of a Common Lisp buffer.
<beach>
We will also use this parsing technique to compute indentation, but the exact mechanism to be used is still not fixed.
amb007 has quit [Ping timeout: 252 seconds]
<beach>
So I am hoping that this superior Common Lisp support will make it irresistible to Common Lisp programmers, at least for Common Lisp programming tasks. But, then, people seem happy with Emacs and SLIME, so who knows.
amb007 has joined #commonlisp
<pve>
beach: the part about using a conforming CL reader to parse the contents is really exciting
mingus has joined #commonlisp
<pve>
especially because it's extensible
<beach>
I agree.
<mfiano>
I will say that I use Emacs and Sly and don't see that changing any time soon, because I don't always have a graphical environment (X11).
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
mingus has quit [Read error: Connection reset by peer]
<loke>
Test
<loke[m]>
Test
loke[m] has left #commonlisp [#commonlisp]
loke[m] has joined #commonlisp
<contrapunctus>
Test
<loke>
contrapunctus: Thanks.
<loke>
It appears my matrix federation stopped working after I messed up the configuration a bit.
<loke>
Very annoying.
<loke[m]>
Test again
<loke>
Oh wait, now it showed up. Test.
<loke[m]>
And a test reply.
<contrapunctus>
loke[m]: come to the dark side^W^W^WBiboumi, we have cookies^Wlower resource usage 😏
amb007 has quit [Ping timeout: 252 seconds]
<loke>
bibomi?
<contrapunctus>
XMPP-IRC bridge
<loke>
I see.
<loke>
Well, I am on far too many Matrix channels already.
karlosz has quit [Ping timeout: 260 seconds]
<loke>
And if I want to use regular IRC (like right now) I just use hexchat.
amb007 has joined #commonlisp
dec0d3r has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<asarch>
Alexa: log out
asarch has quit [Quit: Leaving]
dec0d3r has quit [Remote host closed the connection]
Qwnavery has quit [Quit: WeeChat 3.3]
hendursa1 has quit [Ping timeout: 276 seconds]
hendursa1 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
mingus has joined #commonlisp
mingus has quit [Read error: Connection reset by peer]
random-nick has joined #commonlisp
mingus has joined #commonlisp
mingus has quit [Read error: Connection reset by peer]
taiju has quit [Remote host closed the connection]
taiju has joined #commonlisp
mingus has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
mingus has quit [Read error: Connection reset by peer]
<mfiano>
I haven't really coded in a couple weeks, and something is not what I expect with regard to method dispatch.
<mfiano>
I would like some help understanding what is going on. Let me see if I can gist a smaller example.
<mfiano>
If I invoke this GF with those particular specialized arguments, I get no output printed by the FORMAT call. If I remove the default method in the DEFGENERIC form, I do get the output with the same arguments supplied. Why is class T more specific than a EQL symbol instance?
<Alfr>
mfiano, is the context class from the right package in the defmethod?
<hayley>
I can't reproduce that behaviour here.
<mfiano>
If it wasn't then why would I get output when removing the default method definition?
<hayley>
What does (compute-applicable-methods #'entity-attach-hook (list (make-instance 'context) (make-instance 'entity) 'blah)) [or thereabouts] return?
<hayley>
Here the method specialized on (EQL 'RENDER) comes first, and then the method specialized on T comes second.
<mfiano>
One minute. Let me put my code back in order.
<hayley>
Hm. Is the RENDER symbol in the right package?
<mfiano>
Seems to be
<hayley>
(Oh, I changed the symbol name to BLAH for some reason. I trust you spotted that.)
<White_Flame>
My stack is being blown in printing a return value, even though *print-circle* is T. I don't have any print-object methods defined. Any other ideas?
<White_Flame>
it is a large, circular mash of data
<White_Flame>
but it shouldn't be going for tens of thousands of elements before looping
<mfiano>
hayley: Yes, let me post a more complete code fragment
<mfiano>
It seems I might need to write my own method combinator for the first time. I need most-specific-last ordering with standard combination
<mfiano>
That or I have to really mess with my mixin precedence for non progn methods
<mfiano>
The latter seems difficult given the protocol I have already
<mfiano>
I am not even sure if it makes sense for something resembling standard combination to have a reversed ordering
<mfiano>
before/after methods would be weird for sure with regard to subclasses
lisp123 has joined #commonlisp
<mfiano>
Does anyone know of any libraries that provide similar method combinations, or something close enough to start building upon? I am now going to sleep so I will read tomorrow. Thanks.
lisp123 has quit [Ping timeout: 252 seconds]
selwyn has joined #commonlisp
mingus has joined #commonlisp
<akater[m]>
mfiano: I always started with hyperspec-lookup define-method-combination. There's an implementation of standard one there.
Debate2021 has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
mingus has quit [Ping timeout: 252 seconds]
Debate2021 has left #commonlisp [#commonlisp]
mingus has joined #commonlisp
<pve>
I've made an overview of the reader experiments I've made so far with Eclector. I'd be curious to hear what the general opinion is on things like this. Is there a place for them, or are they completely evil, and only result in stylistically diverging code bases?
<Shinmera>
the package prefix thing sbcl has is pretty cool for repl stuff, though I wouldn't want to see it in a code base.
<Shinmera>
hierarchical packages are also interesting, though I'm a bit wary of them myself, given the existing ecosystem.
<Shinmera>
the rest makes me uncomfortable :)
<pve>
Shinmera: haha
<pve>
thanks!
<Shinmera>
one thing I always wanted to look at is conditional execution stuff
<Shinmera>
meaning you can write a form as if its package existed, but it'll only be executed if that package actually exists.
<pve>
Shinmera: hmm
<Shinmera>
would need some more convoluted hackery to get that working though.
<Shinmera>
eg (when-packages (:foo) (foo:bar))
<pve>
could it be modeled after the "Extended Package Prefix Syntax" maybe?
<pve>
but that's a pretty good idea, either way
<Shinmera>
bonus points if it "late binds" meaning you don't have to recompile after the package in question is actually present.
<pve>
My feeling is that it would be doable
<Shinmera>
I agree :)
<Shinmera>
switch the reader to a special mode when it encounters a when-packages form, then emit a when check and turn each foo:bar function call symbol into something like (lambda (&rest args) (apply (find-symbol ..) args))
<pve>
because eclector let's you choose not to intern, so at the very least, you expand into a bunch of (read-from-string "mystery-package::hello")
<pve>
Shinmera: yes, exactly
<pve>
and come to think of it, I've had to wrestle with that same problem on occasion, especially in scripts IIRC
<pve>
oh, but it misses out on the bonus points :)
<beach>
pve: Thanks for putting all that together.
<pve>
beach: No problem, it's been very educational.
<beach>
I can imagine. But it is also great publicity for Eclector, which I think is a great program.
lisp123 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<pve>
beach: Well that's great too, if it helps. To my amateur eyes, it deserves publicity.
makomo has quit [Quit: WeeChat 3.2]
makomo has joined #commonlisp
lottaquestions has quit [Ping timeout: 252 seconds]
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #commonlisp
makomo has quit [Quit: WeeChat 3.2]
makomo has joined #commonlisp
<beach>
I agree.
tyson2 has joined #commonlisp
random-nick has joined #commonlisp
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 276 seconds]
Lycurgus has joined #commonlisp
cyberbanjo has quit [Remote host closed the connection]
edgar-rft has joined #commonlisp
molson has joined #commonlisp
molson_ has joined #commonlisp
molson has quit [Remote host closed the connection]
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
CptKirk has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
selwyn has quit [Read error: Connection reset by peer]
CptKirk has quit [Ping timeout: 256 seconds]
selwyn has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
selwyn has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
jealousmonk has joined #commonlisp
<etimmons>
Shinmera: very nice! I also see a detail I missed earlier. Seems like the plan is sent to the client a step at a time instead of all at once.
<Shinmera>
right.
lisp123 has quit [Ping timeout: 252 seconds]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
malik has joined #commonlisp
malik has quit [Remote host closed the connection]
igemnace has joined #commonlisp
malik has joined #commonlisp
malik has quit [Remote host closed the connection]
malik has joined #commonlisp
malik has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
defaultxr has quit [Remote host closed the connection]
CrashTestDummy2 has joined #commonlisp
defaultxr has joined #commonlisp
igemnace has quit [Remote host closed the connection]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 265 seconds]
cosimone has quit [Ping timeout: 252 seconds]
morte is now known as mortemeur
Lycurgus has joined #commonlisp
thmprover has joined #commonlisp
molson_ has quit [Ping timeout: 252 seconds]
lisp123 has joined #commonlisp
makomo has quit [Ping timeout: 252 seconds]
lisp123 has quit [Ping timeout: 252 seconds]
karlosz has joined #commonlisp
terrorjack has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 27.1)]
amb007 has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
asarch has joined #commonlisp
tyson2 has joined #commonlisp
lotuseater has joined #commonlisp
euandreh has joined #commonlisp
charles__ has joined #commonlisp
asarch has quit [Quit: Leaving]
charles_ has quit [Ping timeout: 260 seconds]
ullbeking_ has quit []
ullbeking_ has joined #commonlisp
NeoCron has joined #commonlisp
Guest8010 has joined #commonlisp
Guest8010 has left #commonlisp [#commonlisp]
wilfred has joined #commonlisp
lisp123 has joined #commonlisp
akoana has joined #commonlisp
ullbeking_ is now known as ullbeking
cage has quit [Quit: rcirc on GNU Emacs 27.1]
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
lisp123 has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
CptKirk has joined #commonlisp
tyson2 has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
lisp123 has joined #commonlisp
ullbeking has quit [Quit: Updating details, brb]
ullbeking has joined #commonlisp
Mandus has quit [Ping timeout: 252 seconds]
Mandus has joined #commonlisp
greyrat has quit [Quit: Bye]
greyrat has joined #commonlisp
jealousmonk has quit [Quit: ERC (IRC client for Emacs 27.1)]
adeht is now known as _death
dra has joined #commonlisp
<pve>
Shinmera: I decided to try to make the when-packages thing. This is what I got so far: