jackdaniel 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> | Pastebin: <https://plaster.tymoon.eu/>
kchanqvq19 has joined #commonlisp
mwnaylor has quit [Ping timeout: 256 seconds]
mwnaylor has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
kchanqvq19 is now known as kchanqvq
mgl_ has quit []
mwnaylor has quit [Ping timeout: 248 seconds]
kchanqvq57 has joined #commonlisp
kchanqvq18 has joined #commonlisp
eddof13 has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
kchanqvq18 is now known as kchanqvq
eddof13 has quit [Client Quit]
kchanqvq57 has quit [Ping timeout: 250 seconds]
kchanqvq28 has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
nullbath has quit [Remote host closed the connection]
kchanqvq20 has joined #commonlisp
kchanqvq28 has quit [Ping timeout: 250 seconds]
inline has joined #commonlisp
sailorTheCat has quit [Server closed connection]
sailorTheCat has joined #commonlisp
chrcav has quit [Quit: leaving]
kchanqvq24 has joined #commonlisp
King_julian has quit [Read error: Connection reset by peer]
kchanqvq20 has quit [Ping timeout: 250 seconds]
nullbath has joined #commonlisp
King_julian has joined #commonlisp
kchanqvq77 has joined #commonlisp
kchanqvq24 has quit [Ping timeout: 250 seconds]
kchanqvq76 has joined #commonlisp
kchanqvq76 is now known as kchanqvq
kchanqvq44 has joined #commonlisp
chiselfuse has quit [Ping timeout: 272 seconds]
kchanqvq77 has quit [Ping timeout: 250 seconds]
kchanqvq has quit [Ping timeout: 250 seconds]
eddof13 has joined #commonlisp
leeb_ has joined #commonlisp
leeb has quit [Ping timeout: 258 seconds]
X-Scale has quit [Ping timeout: 248 seconds]
fosskers has quit [Remote host closed the connection]
contrapunctus has quit [Ping timeout: 244 seconds]
contrapunctus has joined #commonlisp
veqq has quit [Remote host closed the connection]
brokkoli_origin has quit [Ping timeout: 258 seconds]
brokkoli_origin has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
admich1 has joined #commonlisp
veqq has joined #commonlisp
eddof13 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
chomwitt has quit [Ping timeout: 248 seconds]
King_julian has quit [Ping timeout: 258 seconds]
King_julian has joined #commonlisp
kchanqvq15 has joined #commonlisp
earl-ducaine has joined #commonlisp
kchanqvq44 has quit [Ping timeout: 250 seconds]
Lycurgus has joined #commonlisp
jonatack has quit [Ping timeout: 255 seconds]
bpanthi977 has joined #commonlisp
decweb has quit [Quit: Konversation terminated!]
stanrifkin_ has joined #commonlisp
stanrifkin has quit [Ping timeout: 255 seconds]
manwithluck has quit [Ping timeout: 256 seconds]
manwithluck has joined #commonlisp
kchanqvq65 has joined #commonlisp
bpanthi977 has quit [Ping timeout: 248 seconds]
kchanqvq15 has quit [Ping timeout: 250 seconds]
kchanqvq65 is now known as kchanqvq
kchanqvq22 has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
kchanqvq22 is now known as kchanqvq
bpanthi977 has joined #commonlisp
kchanqvq has quit [Quit: Client closed]
kchanqvq has joined #commonlisp
triffid has quit [Remote host closed the connection]
kchanqvq8 has joined #commonlisp
triffid has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
kchanqvq8 is now known as kchanqvq
gooba has quit [Read error: Connection reset by peer]
gooba has joined #commonlisp
kchanqvq24 has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
kchanqvq24 is now known as kchanqvq
istewart has quit [Quit: Konversation terminated!]
edgar-rft` has joined #commonlisp
edgar-rft has quit [Ping timeout: 248 seconds]
kchanqvq26 has joined #commonlisp
wohonajax has quit [Quit: leaving]
kchanqvq has quit [Ping timeout: 250 seconds]
Lycurgus has quit [Quit: alsoknownas.renjuan.org ( juan@acm.org )]
bpanthi977 has quit [Ping timeout: 248 seconds]
mgxm has quit [Server closed connection]
mgxm has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
fosskers has joined #commonlisp
younder has quit [Ping timeout: 248 seconds]
pve has joined #commonlisp
kchanqvq39 has joined #commonlisp
kchanqvq39 is now known as kchanqvq
kchanqvq26 has quit [Ping timeout: 250 seconds]
<kchanqvq> stylewarning: I wonder if Coalton could be another project that would benefit from NOTE-SOURCE-TRANSFORMATION. Does Coalton currently allow CL debugger to jump to the precise Coalton form that produces a runtime error? or maybe this is irrelevant because Coalton isn't supposed to produce runtime error?
admich1 has quit [Ping timeout: 248 seconds]
ingeniot has joined #commonlisp
admich1 has joined #commonlisp
reb``` has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
reb`` has quit [Ping timeout: 248 seconds]
istewart has joined #commonlisp
ingeniot has quit [Ping timeout: 248 seconds]
hirez has quit [Server closed connection]
hirez has joined #commonlisp
X-Scale has joined #commonlisp
<beach> There are things that can't be expressed in a static type system, like you can't express a type such as "any integer except 0". Therefore there will at least be errors like division by 0 to handle.
<kchanqvq> beach: I see! Do you know whether Coalton currently allow debugger source tracking to jump to precise error producing form?
<beach> I am afraid I don't. Sorry. This was just a general computer-science observation.
* kchanqvq nods
istewart has quit [Quit: Konversation terminated!]
<beach> I am not sure I understand the issue, though. As I understand it, Coalton is "just" a Common Lisp macro, so the Common Lisp implementation should be able to figure out the source form that signaled an error, no?
<beach> ... unless, of course, source information is not propagated through macro expansion.
<kchanqvq> beach: say a macro form A expands to B, CL impl will know that A->B, but currently there's no way for a macro to tell the impl it transformed a subform C in A into D in B. This particularly affects code walking macros like ITERATE
<kchanqvq> Clozure CL does have NOTE-SOURCE-TRANSFORMATION which allows macro to express precisely this information. I wrote a patch for SBCL to add this as well but it has not been accepted yet.
<beach> I see. The way we plan to handle it in SICL is to propagate source information (which could be a bit imprecise) through macro expansion and report errors in terms of the source that was typed by the user.
<beach> What you are describing sounds more complicated to me. I may be wrong, of course.
<kchanqvq> beach: I think it would also benefit from this API, because some macro might want to do arbitrary computation and output something unrecognizable, and only god and the macro itself knows what's the correct mapping from subforms in input form and subforms in expanded form
ttree has joined #commonlisp
<beach> Sure, but in most cases, there are sub-forms in the expansion that also occur in the macro form.
<beach> So what you are referring to would be something that the macro writer would use?
<kchanqvq> beach: Yes. And I have an ITERATE version which uses it and has perfect debugger source tracking
<beach> I see. Interesting!
<kchanqvq> while without this interface source tracking either completely don't work, or work for simple function calls (where ITERATE copies verbatim) but breaks for more complicated cases.
<beach> I understand.
ingeniot has joined #commonlisp
<aeth> You can express nonzero as a static type... But I think that would basically result in the compiler forcing you to handle every number that it can't prove isn't zero every time you have it as the divisor.
<aeth> Static vs dynamic shows up here because there are times you know it isn't zero, but the compiler doesn't/can't know
<aeth> So now you have to insert an extra check!
<aeth> At least, if you forbid it from being a runtime error.
<aeth> I think some languages break the definition of division so that division by zero is valid as another alternative.
<aeth> As for languages implemented as elaborate macros like with Coalton, it probably would show up in arithmetic! (+ x y z) is probably going to become binary/dyadic instead of staying as variadic, and ultimately end up as something like (+ (+ x y) z) again back in CL, which means that the error of something like (/ x y z) might not line up with the source form.
<beach> What do you mean by "not line up", and how is that important for error reporting?
<kchanqvq> beach: debugger doesn't know which sub-form the error comes from in the original source form. Usually the best it can do is to jump to the whole top-level form, which is often not helpful
<beach> Hmm.
ttree has quit [Quit: Leaving]
<aeth> which is v in the SLIME debugger apparently
<beach> I don't see how it could be done better. Either you report in terms of the form that the programmer typed, or else, you report in something that the programmer won't recognize.
kchanqvq76 has joined #commonlisp
<kchanqvq76> beach: this is where NOTE-SOURCE-TRANSFORMATION helps. The elaborated macro will call it to let impl knows subform C corresponds to subform D, then if CL impl has an error produced by D, debugger knows to jump to C
<beach> I think I see.
kchanqvq76 has quit [Client Quit]
<aeth> [trivial-]with-current-source-form is a lot more obvious because it's the compile time version (for the obvious underline location in macros) instead of a key in the SLIME debugger I had to look up (although maybe some people like kchanqvq use it all of the time).
<aeth> but they are similar issues
<aeth> if your (+ x y z) is a compile time error (for instance, maybe you have literal strings and + isn't used for string concatenate), then it's easy to use that to see (+ x y z) is where the error is, not in a macro body that could be several hundred lines
<aeth> s/not in a macro body/not at the top level of the macro body/
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 272 seconds]
<aeth> As for static type systems, they're (almost certainly) not going to save you from something like, say, a function that requires an invertible-matrix (matrix inversion seems like a decently elaborate way to probably wind up with division by zero at runtime even if your type system can check the more trivial cases)
rgherdt has joined #commonlisp
ingeniot has quit [Ping timeout: 248 seconds]
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
admich1 has joined #commonlisp
King_julian has quit [Ping timeout: 248 seconds]
King_julian has joined #commonlisp
Farooq has joined #commonlisp
eddof13 has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
fosskers has quit [Ping timeout: 248 seconds]
zxcvz has joined #commonlisp
delyan_ has quit [Server closed connection]
delyan_ has joined #commonlisp
zxcvz has quit [Client Quit]
Posterdati has quit [Ping timeout: 248 seconds]
greenfork has quit [Read error: Connection reset by peer]
greenfork has joined #commonlisp
PuercoPop has quit [Ping timeout: 260 seconds]
kvik has quit [Write error: error:80000068:system library::Connection reset by peer]
pvac has quit [Write error: error:80000068:system library::Connection reset by peer]
larme has quit [Read error: Connection reset by peer]
theothornhill has quit [Read error: Connection reset by peer]
pvac has joined #commonlisp
larme has joined #commonlisp
PuercoPop has joined #commonlisp
kvik has joined #commonlisp
theothornhill_ has joined #commonlisp
theothornhill_ is now known as theothornhill
tsujp has quit [Ping timeout: 260 seconds]
chomwitt has joined #commonlisp
Posterdati has joined #commonlisp
tsujp has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Client Quit]
Farooq has quit [Ping timeout: 248 seconds]
mwnaylor has joined #commonlisp
kg7ski has quit [Quit: ZNC 1.10.1 - https://znc.in]
kg7ski has joined #commonlisp
admich1 has joined #commonlisp
Farooq has joined #commonlisp
Lycurgus has joined #commonlisp
sjl has quit [Server closed connection]
sjl has joined #commonlisp
Farooq has quit [Remote host closed the connection]
Farooq has joined #commonlisp
reb```` has joined #commonlisp
reb``` has quit [Ping timeout: 256 seconds]
lusciouslover has quit [Quit: \]
lusciouslover has joined #commonlisp
divlamir has joined #commonlisp
McParen has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 248 seconds]
Lord_of_Life has joined #commonlisp
decweb has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
Guest47 has joined #commonlisp
pkal has joined #commonlisp
chomwitt has quit [Ping timeout: 248 seconds]
Lycurgus has quit [Quit: alsoknownas.renjuan.org ( juan@acm.org )]
mwnaylor has quit [Ping timeout: 260 seconds]
mwnaylor has joined #commonlisp
<ixelp> Eliminating FORMAT
<beach> I really don't see why someone would call for FORMAT to be eliminated, given that other Common Lisp programmers might like it. People who don't like FORMAT can just use something else. Nothing is stopping them.
Farooq has quit [Ping timeout: 258 seconds]
<mesaoptimizer> I interpreted his proposal not as a call to change the spec but for people to create and adopt supposedly better alternatives
Posterdati has quit [Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/]
Posterdati has joined #commonlisp
X-Scale has quit [Ping timeout: 248 seconds]
chomwitt has joined #commonlisp
Guest47 has quit [Quit: Textual IRC Client: www.textualapp.com]
X-Scale has joined #commonlisp
<decweb> Has the described macro been implemented as a common lisp package somewhere?
jonatack has joined #commonlisp
<mesaoptimizer> "YTools (version 2.1.47, 2009-10-20) is a set of enhancements to Lisp, including improved macros for iteration, formatted I/O, file management, and even backquoting! Documentation includes detailed manual with over 50 pages; see Software Documentation, above. YTools version 2.1 includes a complete rewrite of the YTools File Manager based on the concept of "chunk" described in McDermott 2005. "
<ixelp> Home page for Drew McDermott
<mesaoptimizer> also see https://www.cliki.net/YTools
<ixelp> CLiki: YTools
admich1 has quit [Ping timeout: 248 seconds]
<jackdaniel> format (along with loop) are two biggest (implementaiton-wise) operators in the standard, each requireing at least 2-3kloc
<jackdaniel> on one hand it speaks volumes how much functionality each of these DSL pack inside
<jackdaniel> on another, from the aesthetic perspective, not everyone is a fan of such DWIM languages, especially when they are not (per standard) extensible -- because it is rather hard to foresee all relevant use cases (and these DSLs would grow further then)
<jackdaniel> on the third hand, READ is by all means extensible beyond imagination, yet it is rarely used as a general purpose recursive descend parser, which it is, in practice
<jackdaniel> (READ is the third beast of apocalypse, standing side by side with LOOP and FORMAT :)
<beach> I use READ (and PRINT) to save and restore arbitrary data structures to/from files. It is very simple and can handle sharing and circularity as those two operators can.
<jackdaniel> yes, I mean that it is rarely used to implement parsers
<jackdaniel> (other than common lisp source code)
<beach> Oh, I see.
Lycurgus has joined #commonlisp
yitzi has joined #commonlisp
<yitzi> When I hear people make statements like "awful 'loop' and the hideous 'format'" in the YTools docs, I immediately disregard everything else they have to say. I completely understand valid criticisms of the CL spec, but language like that just makes me think they don't really understand the spirit of CL in being multiparadigm and the real pragmatic descisions that were made by the spec comittee.
msv has quit [Remote host closed the connection]
cage has joined #commonlisp
admich1 has joined #commonlisp
apac has joined #commonlisp
attila_lendvai has joined #commonlisp
<beach> Well said.
lcn_ has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
<yitzi> thanks!
ingeniot has joined #commonlisp
spdegabrielle has joined #commonlisp
shangul is now known as Farooq
ingeniot has quit [Ping timeout: 248 seconds]
pkal has quit [Ping timeout: 244 seconds]
bpanthi977 has joined #commonlisp
bpanthi977 has quit [Ping timeout: 252 seconds]
kchanqvq42 has joined #commonlisp
kchanqvq41 has joined #commonlisp
kchanqvq25 has joined #commonlisp
kchanqvq has quit [Ping timeout: 250 seconds]
kchanqvq42 has quit [Ping timeout: 250 seconds]
kchanqvq64 has joined #commonlisp
apac has quit [Remote host closed the connection]
kchanqvq41 has quit [Ping timeout: 250 seconds]
kchanqvq35 has joined #commonlisp
apac has joined #commonlisp
kchanqvq25 has quit [Ping timeout: 250 seconds]
ingeniot has joined #commonlisp
kchanqvq64 has quit [Ping timeout: 250 seconds]
kchanqvq90 has joined #commonlisp
kchanqvq35 has quit [Ping timeout: 250 seconds]
King_julian has quit [Ping timeout: 256 seconds]
Lycurgus has quit [Quit: alsoknownas.renjuan.org ( juan@acm.org )]
yitzi has quit [Quit: yitzi]
yitzi has joined #commonlisp
nullbath has quit [Remote host closed the connection]
kchanqvq61 has joined #commonlisp
kchanqvq90 has quit [Ping timeout: 250 seconds]
ingeniot has quit [Ping timeout: 248 seconds]
nullbath has joined #commonlisp
spdegabrielle has quit [Quit: Connection closed for inactivity]
ewig has joined #commonlisp
msv has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
rgherdt has joined #commonlisp
divlamir_ has joined #commonlisp
divlamir has quit [Ping timeout: 248 seconds]
divlamir_ is now known as divlamir
yitzi has quit [Quit: yitzi]
admich1 has joined #commonlisp
chomwitt has quit [Ping timeout: 248 seconds]
admich1 has quit [Remote host closed the connection]
admich1 has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
admich1 has joined #commonlisp
gnoo has quit [Ping timeout: 256 seconds]
akoana has joined #commonlisp
yaroe has joined #commonlisp
samedi has joined #commonlisp
kchanqvq88 has joined #commonlisp
nullbath has quit [Remote host closed the connection]
szkl has quit [Quit: Connection closed for inactivity]
kchanqvq14 has joined #commonlisp
kchanqvq61 has quit [Ping timeout: 250 seconds]
nullbath has joined #commonlisp
kchanqvq88 has quit [Ping timeout: 250 seconds]
<yaroe> I've been working on a document that aims to clarify monads with a few examples in Common Lisp. It's my attempt at creating the resource I wished I could have found when I was starting out.
<yaroe> I thought some of you might find it interesting and I would appreciate any thoughts or comments you might have.
<yaroe> It can be downloaded here https://link.infini.fr/SA6A6Ev1
<ixelp> drop.infini.fr
ewig has quit [Remote host closed the connection]
dev` has joined #commonlisp
dev` has quit [Remote host closed the connection]
ItsAnonMelody has joined #commonlisp
ItsAnonMelody has quit [Remote host closed the connection]
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
Lycurgus has joined #commonlisp
yaroe has quit [Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.1)]
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
istewart has joined #commonlisp
eddof13 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
admich1 has quit [Ping timeout: 248 seconds]
cage has quit [Quit: rcirc on GNU Emacs 30.1]
admich1 has joined #commonlisp
gnoo has joined #commonlisp
mwnaylor has quit [Ping timeout: 248 seconds]
mwnaylor has joined #commonlisp
nullbath has quit [Remote host closed the connection]
kchanqvq97 has joined #commonlisp
nullbath has joined #commonlisp
<attila_lendvai> last commit to quicklisp-projects is 7 months old... did something happen to Xach?
spdegabrielle has joined #commonlisp
kchanqvq14 has quit [Ping timeout: 250 seconds]
eddof13 has joined #commonlisp
<jackdaniel> he made some commit in sharplispers around 2 months ago
<jackdaniel> generally for the last 2 or 3 years his lisp activity is much less
<jackdaniel> attila_lendvai: ^
<jackdaniel> l1sp.org domain expired the other day as an example; I guess he has other things going on in his life
<attila_lendvai> hrm... is there something that is nowadays obsoleting quicklisp?
<jackdaniel> I think that there are at least a few initiatives
<jackdaniel> there's ultralisp -- fast paced ql distro without any curation (just pulls from master)
<jackdaniel> there's also vend (I think?) by fosskers and ocicl by atgreen
eddof13 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<jackdaniel> whether these things obsolete ql I do not know, I'm still using it; and there was a distro update recently-ish
<jackdaniel> namely 2025-06-22
rgherdt_ has quit [Ping timeout: 258 seconds]
<attila_lendvai> Xach has put quite some effort into ql, and my impression is that he didn't get too much help from the community... (but i've been mostly away for some 10 years, so...)
<jackdaniel> someone was putting much effort to package things for nixos (or was it guix?), but I didn't hear much about it recently
<Lycurgus> did he quit?
<jackdaniel> no, he made a ql release recently
<attila_lendvai> i'm using guix, but i never get to install guix CL packages...
<Lycurgus> sfaik the only interrrupt was for a family tragedy a few years back
<jackdaniel> his activity just subsided; that said he's a cl hero imo even if he were to quit today :)
* attila_lendvai agrees
<Lycurgus> *a few short years
* jackdaniel unwinds to sleep, gn \o
<Lycurgus> gnite
nuitsamedi has joined #commonlisp
foretspa1sibles has quit [Server closed connection]
foretspa1sibles has joined #commonlisp
samedi has quit [Ping timeout: 248 seconds]
dra has joined #commonlisp
francogrex has joined #commonlisp
dra has quit [Client Quit]
francogrex has left #commonlisp [#commonlisp]
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #commonlisp
pve has quit [Quit: leaving]
nuitsamedi is now known as samedi
apac has quit [Quit: Konversation terminated!]
apac has joined #commonlisp
admich1 has quit [Read error: Connection reset by peer]
admich1 has joined #commonlisp
rgherdt has joined #commonlisp
contrapunctus has quit [Quit: Gateway shutdown]
contrapunctus has joined #commonlisp
bpanthi977 has joined #commonlisp
admich1 has quit [Ping timeout: 248 seconds]
admich1 has joined #commonlisp
bpanthi977 has quit [Ping timeout: 260 seconds]
robin has quit [Remote host closed the connection]
Lycurgus has quit [Quit: alsoknownas.renjuan.org ( juan@acm.org )]
fosskers has joined #commonlisp
robin has joined #commonlisp
pkal has joined #commonlisp
kchanqvq97 is now known as kchanqvq
spdegabrielle has quit [Quit: Connection closed for inactivity]
chomwitt has joined #commonlisp
lcn_ has quit [Ping timeout: 256 seconds]
mwnaylor has quit [Ping timeout: 256 seconds]
mwnaylor has joined #commonlisp
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #commonlisp
pkal has quit [Ping timeout: 244 seconds]
nytpu has quit [Remote host closed the connection]
nytpu has joined #commonlisp
pkal has joined #commonlisp
apac has quit [Ping timeout: 256 seconds]
bpanthi977 has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
bpanthi977 has quit [Ping timeout: 248 seconds]
pkal has quit [Ping timeout: 244 seconds]
nullbath has quit [Remote host closed the connection]
nullbath has joined #commonlisp
attila_lendvai has quit [Ping timeout: 255 seconds]