notzmv has joined #commonlisp
Oladon has quit [Quit: Leaving.]
CrashTestDummy has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 252 seconds]
CrashTestDummy3 has joined #commonlisp
zacts has joined #commonlisp
<recordgroovy> I've read how to add a library to Quicklisp, and it seems pretty straightforward. Any common mistakes newbies make that isn't usually covered in FAQ?
CrashTestDummy has quit [Ping timeout: 272 seconds]
<Xach> recordgroovy: making a new unit test library
<Xach> i think that case is mentioned though
<recordgroovy> haha, I assure you it's not a unit test library, lol
<recordgroovy> nor is it a new base64 library
zacts has quit [Quit: Client closed]
<Xach> recordgroovy: what is it?
taiju has joined #commonlisp
<recordgroovy> I plan to fork sha1 if my PR gets denied so that I can use it with projects that depend on cl-base64
<recordgroovy> Found out this morning someone made the exact same PR about 18 months ago, so I'm expecting this one to close too.
<recordgroovy> (This is part of a two-stage process to remove ironclad entirely from clack and websocket-driver, because fukamachi depends on the entire crypto toolkit just for SHA1 hashes)
taiju has quit [Ping timeout: 272 seconds]
waleee has quit [Ping timeout: 255 seconds]
Oladon has joined #commonlisp
stylewarning has joined #commonlisp
notzmv has quit [Ping timeout: 258 seconds]
mason has quit [Quit: leaving]
mason has joined #commonlisp
peterhil has quit [Ping timeout: 272 seconds]
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
pjb has quit [Ping timeout: 255 seconds]
paulapatience has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
char has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
lisp123 has quit [Ping timeout: 252 seconds]
<beach> Good morning everyone!
cmack has joined #commonlisp
taiju has joined #commonlisp
char has quit [Ping timeout: 268 seconds]
akoana has quit [Quit: leaving]
notzmv has joined #commonlisp
lisp123 has joined #commonlisp
char has joined #commonlisp
pillton has joined #commonlisp
Inline has quit [Quit: Leaving]
whoschen has joined #commonlisp
<contrapunctus> beach: hey :) Have you seen this? Reminded me of CLOSOS - http://mumble.net/~jar/pubs/secureos/secureos.html
lisp123 has quit [Ping timeout: 272 seconds]
whoschen has quit [Remote host closed the connection]
<beach> contrapunctus: I don't think I have seen it. Reading now...
<beach> Looks very similar.
<beach> I'll read it more carefully later. Today is Monday and Monday mornings are chaotic around here. From a brief look, it looks more theoretical and less pragmatic than CLOSOS. I am especially looking for the cost of invoking an external function.
SAL9000 has quit [*.net *.split]
phoe has quit [*.net *.split]
stylewarning has quit [*.net *.split]
phoe_ has joined #commonlisp
stylewarning has joined #commonlisp
SAL9000 has joined #commonlisp
|3b| has quit [*.net *.split]
danieli has quit [*.net *.split]
ryanbw has quit [*.net *.split]
contrapunctus has quit [*.net *.split]
jealousmonk has quit [*.net *.split]
spec has quit [*.net *.split]
contrapunctus has joined #commonlisp
|3b| has joined #commonlisp
ryanbw has joined #commonlisp
danieli has joined #commonlisp
jealousmonk has joined #commonlisp
jsatk has quit [*.net *.split]
pl has quit [*.net *.split]
totoro has quit [*.net *.split]
mister_m has quit [*.net *.split]
travv0 has quit [*.net *.split]
mister_m has joined #commonlisp
pl has joined #commonlisp
travv0 has joined #commonlisp
jsatk has joined #commonlisp
totoro has joined #commonlisp
totoro has quit [Changing host]
totoro has joined #commonlisp
<beach> I would have liked to see a discussion of the efficiency of the mechanisms being used.
rdrg109 has quit [*.net *.split]
les has quit [*.net *.split]
hexology has quit [*.net *.split]
dale has quit [*.net *.split]
gko has quit [*.net *.split]
dbotton has quit [*.net *.split]
lonjil has quit [*.net *.split]
dcx has quit [*.net *.split]
drmeister has quit [*.net *.split]
polygon-op has quit [*.net *.split]
zups has quit [*.net *.split]
victor has quit [*.net *.split]
cpape has quit [*.net *.split]
cpape` has joined #commonlisp
polygon-1p has joined #commonlisp
lonjil has joined #commonlisp
drmeister has joined #commonlisp
rdrg109 has joined #commonlisp
gko has joined #commonlisp
zups has joined #commonlisp
les has joined #commonlisp
dbotton has joined #commonlisp
dale has joined #commonlisp
dale has quit [Changing host]
dale has joined #commonlisp
victor has joined #commonlisp
hexology has joined #commonlisp
dcx has joined #commonlisp
Oladon has quit [Quit: Leaving.]
recordgroovy has quit [Ping timeout: 265 seconds]
spiaggia has joined #commonlisp
shka has joined #commonlisp
char has quit [Ping timeout: 265 seconds]
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 268 seconds]
amb007 has quit [Ping timeout: 252 seconds]
cjb has quit [Quit: rcirc on GNU Emacs 28.0.50]
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 255 seconds]
lottaquestions has quit [Ping timeout: 240 seconds]
robin__ has quit [Ping timeout: 255 seconds]
lottaquestions has joined #commonlisp
rt has joined #commonlisp
rt is now known as robin
lottaquestions has quit [Client Quit]
lottaquestions has joined #commonlisp
prxq has joined #commonlisp
lisp123 has joined #commonlisp
rgherdt has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
prxq has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
spiaggia has left #commonlisp [ERC Version 5.3 (IRC client for Emacs)]
pjb has joined #commonlisp
<beach> I would like to take this opportunity to thank everyone who gave me remarks (by private message) on this proposal: https://github.com/s-expressionists/wscl/blob/main/wscl-issues/proposed/aref-accessor-type-error I would still like more remarks and results from more implementation on the test cases.
CrashTestDummy2 has joined #commonlisp
<pjb> I'd also add as exceptional situation, invalid indices. And specify signaling a INDEX-OUT-OF-BOUND-ERROR condition.
rgherdt_ has joined #commonlisp
<beach> That's planned additional issue. Right now I am soliciting feedback on this one.
<pjb> On the other hand: (aref #0A 42 ) #| --> 42 |# (aref 42 ) #| ERROR: The value 42 is not of the expected type array. |#
<pjb> couldn't we make an extension?
<pjb> That said, perhaps no, because: (aref #0A "foo") #| --> "foo" |# (aref "foo") #| ERROR: "foo" cannot be accessed with 0 subscripts. |#
CrashTestDummy3 has quit [Ping timeout: 256 seconds]
rgherdt has quit [Ping timeout: 255 seconds]
Mandus has left #commonlisp [WeeChat 3.0.1]
lottaquestions has quit [Remote host closed the connection]
lottaquestions has joined #commonlisp
treflip has joined #commonlisp
azimut has quit [Remote host closed the connection]
dsk has joined #commonlisp
azimut has joined #commonlisp
pve has joined #commonlisp
<pillton> pjb: +1 for the invalid indices error as well.
pillton has quit [Quit: Sorry. Have to go. I'll check the logs tomorrow.]
<beach> What error type should be signaled in that case?
dsk has quit [Ping timeout: 255 seconds]
<beach> I guess an index out of bounds is a type error but what about the wrong number of indices?
<pjb> beach: we need to define a consistent set of conditions to be signaled from CL. Conditions are underspecified currently.
<pjb> Probably all the error conditions should also be "simple-conditions" ie, have also a format-control-string and a format-arguments…
<beach> That's outside the scope of WSCL though. All I can do is give the standard condition type.
<pjb> Oh. Ok.
<beach> But it's a very good idea, and I am following this idea in SICL.
<beach> WSCL won't include any extensions to the standard. It will only specify behavior that is unspecified or undefined in the standard, and that nearly all implementations agree upon.
<pjb> I don't like type-error on index out of bound. Everything can be a type-error then!
<pjb> program-error? Wrong your code was of the wrong type! (the type valid-program).
<pjb> end-of-file? wrong, your stream was of the wrong type (the type stream-of-sufficient-length).
<pjb> Types are idiotic.
<pjb> I like types less and less with time…
<beach> I see.
<beach> I think type error is fine, but as a superclass of the real condition type to be signaled.
<beach> But then, I can't specify that without extensions.
<pjb> or program-error if it's determined at compilation-time.
<beach> Sure.
hendursaga has joined #commonlisp
hendursa1 has quit [Ping timeout: 244 seconds]
dsk has joined #commonlisp
<contrapunctus> pjb: what do you prefer, instead of types? 🤔
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
waleee has joined #commonlisp
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 276 seconds]
<pjb> contrapunctus: not to replace them, but to stress them less.
<beach> There are no standardized types that are subclasses of TYPE-ERROR are there?
polygon-1p is now known as jackdaniel
jackdaniel has quit [Changing host]
jackdaniel has joined #commonlisp
lisp123 has joined #commonlisp
<beach> I think this discussion suggests another project: Create a set of subclasses of standard condition classes for common error situations. Provide excellent English-language condition reporters for them.
<beach> And provide initargs and accessors as usual, and create documentation for those.
lisp123 has quit [Ping timeout: 255 seconds]
<pjb> two things are needed: good English, and enough data in the slots to make them usable automatically in handlers and restarts…
<pjb> And for the specification, where they're signaled from. Allowing conditions to be signaled deep from the bowels of the implementation can be a problem for automatic handling.
<beach> Well, the creator of such a library can not dictate how the conditions are going to be used by Common Lisp implementations.
<beach> They can suggest, of course.
cmack has quit [Ping timeout: 268 seconds]
yitzi has joined #commonlisp
Colleen has quit [Quit: Colleen]
Colleen has joined #commonlisp
kpoeck has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
peterhil has joined #commonlisp
dsk has quit [Ping timeout: 255 seconds]
random-nick has joined #commonlisp
VincentVega has joined #commonlisp
silasfox has joined #commonlisp
yitzi has quit [Remote host closed the connection]
kakuhen has quit [Quit: Leaving...]
luna-is-here has quit [Ping timeout: 246 seconds]
tyson2 has joined #commonlisp
kpoeck has quit [Quit: Client closed]
luna-is-here has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
yitzi has joined #commonlisp
raeda has quit [Ping timeout: 265 seconds]
<shka> but you probably know this already
CrashTestDummy2 has joined #commonlisp
amb007 has joined #commonlisp
<shka> huh, scymtym made this
<shka> i didn't even knew this
CrashTestDummy3 has quit [Ping timeout: 255 seconds]
specbot has quit [Remote host closed the connection]
easye has quit [Read error: Connection reset by peer]
minion has quit [Killed (NickServ (GHOST command used by minion1))]
minion has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
azimut has quit [Ping timeout: 244 seconds]
ec has quit [Ping timeout: 244 seconds]
Shinmera has quit [Ping timeout: 252 seconds]
Colleen has quit [Ping timeout: 256 seconds]
Colleen has joined #commonlisp
Shinmera has joined #commonlisp
specbot has joined #commonlisp
ec has joined #commonlisp
azimut has joined #commonlisp
hendursaga has joined #commonlisp
notzmv has quit [Ping timeout: 272 seconds]
taiju has quit [Ping timeout: 272 seconds]
taiju has joined #commonlisp
Lycurgus has joined #commonlisp
raeda has joined #commonlisp
lotuseater has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 272 seconds]
phoe_ is now known as phoe
phoe has quit [Changing host]
phoe has joined #commonlisp
recordgroovy has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
recordgroovy has quit [Client Quit]
<beach> shka: I didn't know about it either, or I forgot about it. But yes, that seems like the kind of project I was talking about.
taiju has quit [Ping timeout: 256 seconds]
taiju has joined #commonlisp
notzmv has joined #commonlisp
tyson2 has joined #commonlisp
char has joined #commonlisp
Bike has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
amb007 has quit [Ping timeout: 272 seconds]
yitzi has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
IAmRasputin has joined #commonlisp
amb007 has joined #commonlisp
dsk has joined #commonlisp
yitzi has joined #commonlisp
<beach> I amended this issue: https://github.com/s-expressionists/wscl/blob/main/wscl-issues/proposed/aref-accessor-type-error after having read the guidelines for the proposal format. Remarks are welcome.
pegaso has joined #commonlisp
<beach> Oops, forgot to update the edit history. Done now.
char has quit [Ping timeout: 276 seconds]
<shka> beach: honestly, i would also propose that the rank of the array must match the number of incidences passed, but this is arguably stretching it
<beach> *sigh*
<beach> As I have said at least twice, that is a separate planned issue.
<beach> Coming up in fact. Working on it right now.
amb007 has quit [Ping timeout: 256 seconds]
<shka> oh, ok, sorry
<beach> I wonder why people give me remarks precisely on what I didn't ask for and never give any remarks on what I explicitly asked for.
<beach> What I was explicitly asking people to do was to run the examples in implementations at their disposal and tell me the result.
<Bike> " There are no standardized types that are subclasses of TYPE-ERROR are there?" there's simple-type-error, and i think that's it, based on class-direct-subclasses
<beach> I think you are right.
<Bike> the one and two calls result in type errors in clasp head and ccl 1.12
ec has quit [Ping timeout: 244 seconds]
amb007 has joined #commonlisp
<Bike> unsurprisingly
<Bike> my main thought on this is that there are probably a lot of things like this in the standard, and so writing out this whole issue format for each one will get tedious
pegaso has quit [Quit: Leaving]
<beach> Bike: We will find out whether we get too tired of it.
<shka> same behavior on the ECL
<beach> shka: Can you give me an exact error?
<shka> sure, let me run this again
<pjb> beach: I validate the proposed issue.
<beach> pjb: Thank you!
<pjb> Is there a voting process or something?
<beach> Not sure. I'll check with scymtym.
<beach> I can add your name and your opinion to the "Discussion" section.
<shka> simple-type-error
<shka> one is significantly better then then two
<shka> i only have ccl, sbcl, and ecl isntalled
<shka> *installed
Lycurgus has quit [Quit: Exeunt]
<beach> Thank you!
<shka> ECL is kinda funny in respect of the error messages
<shka> but i like this style
<pjb> beach: Definitely.
<shka> beach: maybe i can setup some cross-checking script with roswell so this would be automated process?
<pjb> shka: you may add abcl easily enough.
<beach> shka: Yes, one is better than two.
<pjb> shka: you may use clall if you wish
<beach> shka: That would be creat.
<beach> great
<shka> what is clall?
<pjb> a script that runs cl expressions on all the installed implementations.
<shka> that is kinda nice
amb007 has quit [Ping timeout: 256 seconds]
<pjb> I doesn't support out-of-the-box several versions of the same implementation however.
amb007 has joined #commonlisp
<pjb> That would be nice to compare versions.
<shka> ros can do that
<beach> pjb: I added the date to your approval so that you won't automatically approve all future versions.
VincentV` has joined #commonlisp
<etimmons> beach: sbcl, abcl, ccl, ecl, clisp, cmucl, and clasp at https://plaster.tymoon.eu/view/2551
<beach> etimmons: Thank you!
<etimmons> Along with a script to replicate using Docker (in case you have that installed, but don't want to install the impls natively)
<beach> Bike: I agree it is tedious, but as jcowan pointed out, this is pretty serious stuff as it has to do with proposed changes to a language that is quite well designed already. I definitely want to avoid accidentally suggesting precise behavior if (for instance) it may not be practical in some implementations and/or on some backends.
makomo has joined #commonlisp
<Bike> sure, i'm just wondering if you couldn't consolidate some changes
<beach> etimmons: I was totally counting on help with these things, myself concentrating on the proposed issues.
<Bike> let's see, what could be specified to signal type errors but isn't. compile, compiler-macro-function, macro-function, proclaim. special-operator-p actually does already have the language for some reason
VincentVega has quit [Ping timeout: 255 seconds]
<Bike> gonna make a slightly more complete list...
<beach> Great!
<Bike> a lot of these definitely make the "simple omission" theory pretty convincing
<Bike> e.g. error should signal a type-error if it's not given a condition designation, but signal doesn't have to
<beach> Oh? Really?
<Bike> signal has "Exceptional conditions: None"
<beach> Oh, I see what you mean.
<Bike> error has, uh, "None", and then "Signals an error of type type-error if datum and arguments are not designators for a condition. " under it
<beach> Let see, "signals an error" what does that mean?
<beach> I guess no matter the safety level.
VincentV` has quit [Ping timeout: 255 seconds]
<Bike> i think that would be the reading, yeah, although the terminology section says it should read "An error is signaled" i guess
<beach> Yeah, and as jcowan pointed out, that terminology needs cleaning up too.
<Bike> oh, jcowan already mentioned coalescing things too
<beach> I told scymtym I would try to write an issue per day for a while. I think I have a large source of inspiration now. Thanks to everyone. And feel free to write up some issues yourself. It takes only a few minutes.
ec has joined #commonlisp
dsk has quit [Ping timeout: 256 seconds]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
taiju has quit [Remote host closed the connection]
taiju has joined #commonlisp
peterhil has quit [Ping timeout: 256 seconds]
peterhil has joined #commonlisp
waleee has joined #commonlisp
<jmercouris> What’s the reason for wscl?
<jmercouris> If all implementations are today conforming, why write it?
<jackdaniel> take (aref <x> 1 2) ; standard (by ommision) doesn't say what happens when <x> is not an array
<jackdaniel> in other words (aref 42 1 2) is an undefined behavior; undefined behavior means - may segfault and it is conforming
<jmercouris> So we are trying to eliminate UB?
<lotuseater> maybe i miss that out above, but what does WS in WSCL stand for?
<Bike> "well specified"
<Bike> jmercouris: at least in safe code
<lotuseater> ahh, i see ^^ thx
<jmercouris> I see
<jackdaniel> not having undefined behaviors in safe code is a good quality
<Bike> and some things are still undefined
<jmercouris> I’ve heard not crashing is good
<jackdaniel> on the other hand for foolhardy code with safety 0 it should be fine to segfault
<beach> jmercouris: Crashing is way better than silently giving the wrong answer, which is a possibility for undefined behavior.
<beach> jmercouris: Look at the mess that C is in. Basically all compilers take advantage of undefined behavior in the standard to do the worst possible thing in the name of performance. I would like to see a standard for Common Lisp where I can honestly say that the *language* is safe. Currently I can't.
<shka> more specifically, it is likely that all CL implementations signal type-error in such situation already
<shka> so this behavior is already practical, yet unwritten, standard
<beach> jmercouris: The fact that all major implementations that we have today are conforming is not good enough. First, "all major" does not mean "all" because we are probably not even aware of all the Common Lisp implementations out there. Second, some implementation may have missed some cases, and they might want to fix those problems.
<beach> Third, existing implementation may accidentally reintroduce undefined behavior in future releases. Fourth, I am hoping that one day implementations will be able to say that they do not conform to just the Common Lisp standard, but also to the stricter WSCL standard.
<jmercouris> Hm, well you’ve convinced me
<beach> Great!
<jmercouris> Too bad I have no reasonable value to offer
<jmercouris> I’ll just keep making CL more popular via my applications
<beach> Sure you do if you want o.
<beach> to
<jmercouris> I can think of many more people who are more technically competent
<beach> jmercouris: So you are saying you are not competent, and you have no ambition to become competent?
<beach> jmercouris: It is really very simple...
<jmercouris> I’m constantly in the process of becoming competent:-)
<beach> jmercouris: You read the dictionary items in the Common Lisp HyperSpec, which you need to read anyway if you are an application programmer.
<beach> jmercouris: Then you think hard about what might go wrong.
cage has joined #commonlisp
<jmercouris> Hm, seems straightforward enough
<beach> jmercouris: And if the entry doesn't say what happens when something is wrong, then you have an issue.
<jmercouris> I’ll keep my eyes peeled then
<beach> Excellent.
<beach> jmercouris: Like this thing that it is undefined behavior if the entry mentions that an argument must be a certain type, and then no further information is given.
<Bike> oh, and also i want to mention that for some slightly obscure cases, i expect implementations might not conform. for example, there are many condition accessor functions, e.g. stream-error-stream, that aren't specified to signal a type error. if an implementation just uses define-condition/defclass, the error for the wrong type will be method not found instead of type error.
<jmercouris> I see
<beach> Bike: Good point.
<beach> jmercouris: Let me just show you one simple example...
<beach> clhs digit-char-p
<beach> Have a look at that page.
<beach> jmercouris: What happens if char is not a character?
<beach> clhs 1.4.4.3
<specbot> The ``Arguments and Values'' Section of a Dictionary Entry: http://www.lispworks.com/reference/HyperSpec/Body/01_ddc.htm
<beach> jmercouris: ^
<lotuseater> is this a similar situation when not giving an integer to EVENP/ODDP ?
<beach> jmercouris: "Except as explicitly specified otherwise, the consequences are undefined if these type restrictions are violated."
<beach> lotuseater: No.
<beach> clhs evenp
<beach> lotuseater: " Should signal an error of type type-error if integer is not an integer."
<lotuseater> yes ok
<beach> lotuseater: And that terminology is defined here:
<beach> clhs 1.4.2
<beach> jmercouris: So you see, I didn't do anything particular there. I just checked a few random dictionary entries, and on the third one, I found digit-char-p.
<beach> jmercouris: I am pretty sure you could have done the exact same thing.
lisp123 has joined #commonlisp
<lotuseater> much to learn I still have ^^
<Bike> https://gist.github.com/Bike/43cf08b0d4788904b169180d013ead6b here's my quick list of operators the "should signal a type-error" thing could apply to. i probably should have made a list of the complement instead
<beach> jmercouris: You may of course not have any desire to do something like that, but I don't think you can use incompetence as an excuse.
<jmercouris> Fair enough :-D
lisp123 has quit [Ping timeout: 256 seconds]
<beach> Bike: But some of those already do, right?
<jmercouris> beach: reading through the entry, I can't imagine what it does if char is indeed not a character
<jmercouris> my first instinct is it returns nil
<jmercouris> the reason why I say that is it says "test whether char is a digit in the specified radix"
<jmercouris> I imagine that a potato is not in fact a digit in the specified radix
<beach> jmercouris: Exactly, and so the general phrase in 1.4.4.3 applies.
<jmercouris> and thefore it should return nil
<beach> jmercouris: Nope, that's not what 1.4.4.3 says.
<beach> This dictionary entry says that char is a character.
<jmercouris> OK I see that
<jmercouris> that complements how this is supposed to read
<jmercouris> in that case indeed, undefined...
<beach> Yep.
<jmercouris> You could probably just make a test suite rather than writing a spec
<jmercouris> or maybe not, I don't know, I'm just thinking, if it /should/ signal a type error
<jmercouris> you can check that it does
<beach> A test suite will be a very nice complement.
<beach> But I also want a document meant for the application programmer so that it is known what behavior is expected from a conforming implementation.
<beach> The test suite would be valuable to implementors, just like the ANSI test suite is for the Common Lisp standard.
<Bike> beach: some of them specify a type error should be signaled on some type problems but not others, if that's what you mean
<shka> sneaky beach has other reason fo WSCL
<shka> namely: what if you are making a new implementation?
<shka> and currently WIP implementations include SICL and Clasp
<beach> Bike: Yes, that's what I mean.
<beach> shka: And BOCL.
<shka> lol, yes
<shka> i forgot about this one
<beach> That's an important one, because it is not meant to be used for application programming, so it could exploit all the undefined behavior.
<shka> CL, "dead" language has 3 new implementations being developed at this very moment
<shka> AND multiple maintained implementations
<shka> heh
copec has joined #commonlisp
frgo has quit [Ping timeout: 256 seconds]
peterhil has quit [Ping timeout: 256 seconds]
Inline has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
<jackdaniel> and swapping
dsk has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2> Hello
<Josh_2> How do I clear all current sessions in hunchentoot?
derelict has joined #commonlisp
tyson2 has joined #commonlisp
<Josh_2> Oh wait dw, I remembered, just gotta set tbnl::*session-db* to nil
varjag has joined #commonlisp
treflip has left #commonlisp [ERC (IRC client for Emacs 27.2)]
<lotuseater> can anyone tell me the difference calling a symbol from a package with one and two colons?
<jackdaniel> lotuseater: if the symbol is accessible with one colon, then that means that this symbol is exported from said package
<jackdaniel> when you use two colons then the reader doesn't care whether the symbol is exported or not
jeosol has quit [Quit: Ping timeout (120 seconds)]
<aeth> Generally, you don't want to use ::s outside of tests. Generally. Some things just aren't exported when they should be, though. E.g. nobody seems to export their types. I guess nobody uses CHECK-TYPE or DECLARE etc. anywhere.
<aeth> I blame Python. Duck typing. :-p
dsk has quit [Ping timeout: 256 seconds]
<aeth> Meanwhile, I'll gladly lose some performance to fail early if it means I don't have to hunt down a random NIL that happened 30 functions ago in my program.
<jcowan> Ah yes, the old NIL pointer problem!
makomo has quit [Quit: WeeChat 3.0.1]
<pjb> lotuseater: (read-from-string "CL-USER:FOO") #| ERROR: Reader error: No external symbol named "FOO" in package #<Package "COMMON-LISP-USER"> . |# (read-from-string "CL-USER::FOO") #| --> foo ; 12 |#
<pjb> lotuseater: (export 'cl-user::foo 'cl-user) #| --> t |# (list (read-from-string "CL-USER:FOO") (read-from-string "CL-USER::FOO")) #| --> (foo foo) |#
<pjb> aeth: I do export my types!
<aeth> to be fair, NIL in particular can just be handled with WHEN/UNLESS/NOT/etc.
theBlackDragon has quit [Ping timeout: 240 seconds]
Xach changed the topic of #commonlisp to: All Lisp dialects! | #commonlisp #scheme #racket #clojure #emacs, etc. | https://irclog.tymoon.eu/libera/%23commonlisp
<Xach> oh shit
<Xach> What was the previous topic? I screwed it up.
<lotuseater> ah okay thx :)
* Xach scrolls back
<shka> Xach: programmable programming language bit
<jackdaniel> Xach: something about python and enlightment
<shka> we have a saboteur
<jackdaniel> https://i.imgur.com/pvkP0bC.png <- triangulated polygon fed to xrender :)
theBlackDragon has joined #commonlisp
<Xach> My client does not have a log of the previous topic. Sorry about that. If anyone can tell me the proper topic I will fix it.
lisp123 has joined #commonlisp
Xach changed the topic of #commonlisp to: Common Lisp | https://irclog.tymoon.eu/libera/#commonlisp
<Xach> shit shit. i can't do this properly.
Xach changed the topic of #commonlisp to: Common Lisp | https://irclog.tymoon.eu/libera/%23commonlisp
<jackdaniel> make it "Corman Lips" and get over with it ;)
<eta> lol
<shka> well, since nobody remembers what it was, it was not important
Xach changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook>
<Xach> Thanks mfiano
<mfiano> np
* Xach steps away from the topic for 20 years again
lisp123 has quit [Ping timeout: 276 seconds]
makomo has joined #commonlisp
silasfox has quit [Ping timeout: 256 seconds]
silasfox has joined #commonlisp
peterhil has joined #commonlisp
shka has quit [Ping timeout: 255 seconds]
amb007 has quit [Ping timeout: 276 seconds]
mjanssen has joined #commonlisp
kakuhen has joined #commonlisp
amb007 has joined #commonlisp
silasfox_ has joined #commonlisp
silasfox has quit [Ping timeout: 272 seconds]
frgo has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 255 seconds]
tyson2 has quit [Ping timeout: 256 seconds]
shka has joined #commonlisp
peterhil has quit [Quit: Must not waste too much time here...]
pegaso has joined #commonlisp
silasfox_ has quit [Ping timeout: 256 seconds]
peterhil has joined #commonlisp
amb007 has joined #commonlisp
akoana has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
peterhil has quit [Quit: Must not waste too much time here...]
amb007 has joined #commonlisp
tfb has joined #commonlisp
peterhil has joined #commonlisp
shka has quit [Ping timeout: 276 seconds]
tyson2 has joined #commonlisp
tfb has quit [Ping timeout: 276 seconds]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
<contrapunctus> I need to persist some tree-structured data, but I want to be able to read and write to it incrementally, rather than all at once. What would you folks suggest? Writing an incremental reader/writer for s-expressions, object prevalence, CXML, or something else?
cage has quit [Quit: rcirc on GNU Emacs 27.1]
dsk has joined #commonlisp
frgo has joined #commonlisp
dsk has quit [Ping timeout: 255 seconds]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
karlosz has joined #commonlisp
frgo has quit [Ping timeout: 256 seconds]
yitzi has quit [Quit: Leaving]
varjag has quit [Ping timeout: 256 seconds]
karlosz has quit [Quit: karlosz]
pve has quit [Quit: leaving]
rgherdt_ has quit [Ping timeout: 276 seconds]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 256 seconds]
pillton has joined #commonlisp
recordgroovy has joined #commonlisp
pegaso has quit [Quit: Leaving]
taiju has quit [Ping timeout: 255 seconds]
taiju has joined #commonlisp
frgo has joined #commonlisp
frgo has quit [Ping timeout: 256 seconds]
IAmRasputin has quit [Ping timeout: 256 seconds]
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 276 seconds]
cjb has joined #commonlisp
ec has quit [Quit: ec]