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/>
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
attila_lendvai has quit [Ping timeout: 256 seconds]
Gleefre has quit [Remote host closed the connection]
duuqnd has quit [Quit: ZNC 1.8.2 - https://znc.in]
duuqnd has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
X-Scale has joined #commonlisp
istewart has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
istewart has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
yitzi has quit [Remote host closed the connection]
contrapunctus has joined #commonlisp
X-Scale has quit [Quit: Client closed]
danza has joined #commonlisp
vn36 has joined #commonlisp
random-nick has quit [Ping timeout: 272 seconds]
danza_ has joined #commonlisp
jweeks has quit [Remote host closed the connection]
amb007 has joined #commonlisp
danza has quit [Ping timeout: 246 seconds]
amb007 has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
vn36 has quit [Ping timeout: 264 seconds]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rtypo has quit [Ping timeout: 264 seconds]
vn36 has joined #commonlisp
abrantesasf has joined #commonlisp
gorignak has quit [Quit: quit]
abrantesasf has quit [Remote host closed the connection]
vn36 has quit [Ping timeout: 246 seconds]
decweb has quit [Ping timeout: 256 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
vn36 has joined #commonlisp
amb007 has joined #commonlisp
danza_ has quit [Ping timeout: 268 seconds]
pranav has quit [Remote host closed the connection]
danza_ has joined #commonlisp
wacki has joined #commonlisp
pranav has joined #commonlisp
lucasta has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
wbooze has quit [Remote host closed the connection]
char has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
sailorCat has quit [Ping timeout: 268 seconds]
danza__ has joined #commonlisp
shka has joined #commonlisp
danza_ has quit [Ping timeout: 252 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
danza__ has quit [Ping timeout: 256 seconds]
danza__ has joined #commonlisp
wacki has joined #commonlisp
gko` has quit [Remote host closed the connection]
danza__ has quit [Ping timeout: 255 seconds]
gko has joined #commonlisp
gko has quit [Remote host closed the connection]
gko has joined #commonlisp
sailorCat has joined #commonlisp
pve has joined #commonlisp
vn36 has quit [Quit: leaving]
olnw has joined #commonlisp
char has quit [Remote host closed the connection]
char has joined #commonlisp
olnw has quit [Ping timeout: 264 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
char has quit [Remote host closed the connection]
amb007 has quit [Ping timeout: 268 seconds]
waleee has joined #commonlisp
jweeks has joined #commonlisp
jweeks has quit [Changing host]
jweeks has joined #commonlisp
amb007 has joined #commonlisp
olnw has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
dino_tutter has joined #commonlisp
Noisytoot has quit [Excess Flood]
Noisytoot has joined #commonlisp
calamarium has quit [Ping timeout: 268 seconds]
McParen has joined #commonlisp
donleo has joined #commonlisp
mgl_ has joined #commonlisp
waleee has quit [Ping timeout: 246 seconds]
rainthree has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
mgl_ has quit [Ping timeout: 264 seconds]
zxcvz has joined #commonlisp
danza__ has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
McParen has left #commonlisp [#commonlisp]
Gleefre has joined #commonlisp
prokhor has joined #commonlisp
KaitoDaumoto has joined #commonlisp
danza_ has joined #commonlisp
danza__ has quit [Read error: Connection reset by peer]
rtypo has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
Gleefre has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
random-nick has joined #commonlisp
X-Scale has joined #commonlisp
zxcvz has joined #commonlisp
cage has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
dino_tutter has quit [Ping timeout: 268 seconds]
wbooze has joined #commonlisp
X-Scale has quit [Quit: Client closed]
wbooze has quit [Quit: Konversation terminated!]
X-Scale has joined #commonlisp
wbooze has joined #commonlisp
rainthree has quit [Read error: Connection reset by peer]
danza_ has quit [Ping timeout: 268 seconds]
decweb has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
awlygj has joined #commonlisp
X-Scale has joined #commonlisp
wbooze has quit [Quit: Konversation terminated!]
wbooze has joined #commonlisp
AetherWind has joined #commonlisp
awlygj has quit [Ping timeout: 256 seconds]
Gleefre has quit [Ping timeout: 250 seconds]
mgl_ has joined #commonlisp
wbooze has quit [Quit: Konversation terminated!]
mgl_ has quit [Ping timeout: 264 seconds]
wbooze has joined #commonlisp
Gleefre has joined #commonlisp
ym has joined #commonlisp
waleee has joined #commonlisp
X-Scale has quit [Quit: Client closed]
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
yitzi has joined #commonlisp
AetherWind has quit [Ping timeout: 252 seconds]
awlygj has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
josrr has joined #commonlisp
Gleefre has joined #commonlisp
shawnw has quit [Ping timeout: 246 seconds]
mgl_ has joined #commonlisp
awlygj has quit [Ping timeout: 240 seconds]
cage has quit [Quit: rcirc on GNU Emacs 29.3]
mgl_ has quit [Ping timeout: 246 seconds]
cognemo has quit [Ping timeout: 252 seconds]
CrashTestDummy2 has joined #commonlisp
CrashTestDummy has quit [Ping timeout: 252 seconds]
wbooze has quit [Quit: Konversation terminated!]
Gleefre has quit [Remote host closed the connection]
wacki has joined #commonlisp
skeemer has quit [Ping timeout: 264 seconds]
NotThatRPG has joined #commonlisp
cognemo has joined #commonlisp
random-nick has quit [Ping timeout: 264 seconds]
edgar-rft_ has joined #commonlisp
edgar-rft has quit [Ping timeout: 272 seconds]
random-nick has joined #commonlisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
X-Scale has joined #commonlisp
X-Scale14 has joined #commonlisp
waleee has quit [Ping timeout: 268 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
X-Scale14 has quit [Ping timeout: 250 seconds]
X-Scale has joined #commonlisp
hexa6 has quit [Ping timeout: 255 seconds]
cage has joined #commonlisp
McParen has joined #commonlisp
mgl_ has joined #commonlisp
NotThatRPG has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
X-Scale19 has joined #commonlisp
mgl_ has quit [Ping timeout: 268 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
akoana has joined #commonlisp
wacki has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 264 seconds]
Lord_of_Life_ is now known as Lord_of_Life
awlygj has joined #commonlisp
X-Scale19 has quit [Quit: Client closed]
hexa6 has joined #commonlisp
NotThatRPG has quit [Ping timeout: 268 seconds]
NotThatRPG has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
thuna` has joined #commonlisp
X-Scale has joined #commonlisp
Gleefre has joined #commonlisp
wacki has joined #commonlisp
puchacz has joined #commonlisp
chiselfuse has quit [Ping timeout: 260 seconds]
triffid has quit [Ping timeout: 260 seconds]
chiselfuse has joined #commonlisp
triffid has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
varjagg has joined #commonlisp
ym has quit [Ping timeout: 264 seconds]
Gleefre has quit [Remote host closed the connection]
thuna` has quit [Ping timeout: 268 seconds]
thuna` has joined #commonlisp
thuna` has quit [Remote host closed the connection]
thuna` has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.3]
yitzi has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
matt` has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<thuna`> gilberth, yitzi: I was more considering that non-nil ABORT would imply the undoing of operations done on the stream the synonym stream points to (possibly limited to operations specifically done through the synonym stream), which would imply calling CLOSE on the stream it points to
<gilberth> To me this doesn't make too much sense. When I make a mere synonym stream, a broadcast stream, or an echo stream I don't "own" the underlying streams.
<gilberth> I mean, someone else created the underlying streams and that someone else should bother to close it again. Further I consider it odd to close a stream twice. So the other someone who made the underlying stream must be aware.
<thuna`> gilberth: Maybe I am not fully understanding the implications of ABORT. If CLOSE is called with non-nil ABORT, then the goal is roughly to do certain operations such that the state is as close as possible to the state at which the stream was created, no? Under this interpretation, aborting a composite stream should undo the modifications to its component streams as well.
<thuna`> Of course, I don't expect any implementation to actually do it; it would be too much and the standard allows not actually following through on ABORT.
<gilberth> It's a kind of modularity issue. Suppose you have a function OPEN-FOO-DESTINATION and some code that says (WITH-OPEN-STREAM (OUTPUT (OPEN-FOO-DESTINATION) ...), this OPEN-FOO-DESTINATION now longer has the option to just give e.g. a synonym to *standard-output*.
<gilberth> I think the spec is pretty precise here. "If abort is true, an attempt is made to clean up any side effects of having created stream."
<gilberth> When you say (make-synonym-stream '*standard-output*) you have not created *standard-output*.
<gilberth> You created the synonym stream. And :abort would attempt to clean up side effects. Side effect beyond consing that thing was none.
mgl_ has joined #commonlisp
<thuna`> Ah, I think I did misunderstand ABORT. I was going off of the example of deleting a created file and not superseding an existing file but I read that as the general "undoing the effects of the stream" whereas those are things that creating the file stream itself does, in a sense.
pve has quit [Quit: leaving]
mgl_ has quit [Ping timeout: 264 seconds]
triffid has quit [Remote host closed the connection]
puchacz has quit [Quit: Client closed]
ldb has joined #commonlisp
ldb has quit [Changing host]
ldb has joined #commonlisp
istewart has joined #commonlisp
thuna`` has joined #commonlisp
thuna`` has quit [Client Quit]
thuna`` has joined #commonlisp
thuna`` has quit [Read error: Connection reset by peer]
thuna`` has joined #commonlisp
wacki has joined #commonlisp
chomwitt has joined #commonlisp
thuna`` has quit [Read error: Connection reset by peer]
thuna`` has joined #commonlisp
mgl_ has joined #commonlisp
dino_tutter has joined #commonlisp
varjagg has quit [Ping timeout: 264 seconds]
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
thuna`` has quit [Ping timeout: 264 seconds]
thuna`` has joined #commonlisp
thuna`` has quit [Ping timeout: 255 seconds]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
ldb has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
mgl_ has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 246 seconds]
akoana has quit [Quit: leaving]
<mrcom> gilberth: I believe ABCL top-level macros will cause trouble for meall.
<mrcom> It is, in effect, treating them as special operators.
matt` has quit [Remote host closed the connection]
<mrcom> Rather than emitting "(eval-when (:compile-toplevel) (do-magic-forward-decls-etc))" it's directly executing do-magic-.... when it expands the top-level macro.
<gilberth> mrcom: Sure, I only have to write templates for those. And it makes sense for I only tested with non-top-level forms. The intended purpose. And thanks for looking at meall!
<gilberth> do-magic- ?
<mrcom> e.g. (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN 'FOO T NIL NIL))
<gilberth> That's SBCL not ABCL, isn't it?
<mrcom> Yes, that's well-behaved expansion.
<mrcom> ABCL has the same kind of stuff, of course, but the macro expansion directly executes its equiv of %COMPILER-DEFUN.
<mrcom> Totally destroyed my own secret-agent tricks with *macroexpand-hook* :(
<gilberth> All I get is NAMED-LAMBDA breakage. Let me start ABCL with SLIME.
<gilberth> This named-lambda is beyond me. Why, oh why, not just (declare (function-name foo)) ?
awlygj has quit [Ping timeout: 264 seconds]
<gilberth> Everyone has his own variant of named-lambda.
<gilberth> Oh, SLIME doesn't work for me.
awlygj has joined #commonlisp
<gilberth> Ah. It's a special function name again. I find this rude, the spec doesn't say it is ok unlike with private special forms.
<gilberth> meall says "We weren't caught?". A pity.
<gilberth> mrcom: Thanks for pointing me to this. I'll figure it out.
<mrcom> It's in compile-file.lisp, starting with (defun install-toplevel-handler). DECLARE, DEFCONSTANT, DEFGENERIC, DEFMACRO... EVAL-WHEN... EXPORT IMPORT... lots of stuff.
<mrcom> Some of them are specials.
<gilberth> We must be looking at different ABCLs. I have breakage with their named-lambda. SLIME isn't working for ABCL here which makes hacking awkward.
<mrcom> I've got git master d0a525323b640223bacfb17cde59db995f43cce9 2024-04-29.
<mrcom> This piece of source has been pretty much untouched since 2012. Let me try re-pulling...
<mrcom> No, up-to-date.
<mrcom> And this is just for compiling. Don't know what the interperter does.
<gilberth> Oh. Maybe I need to put meall.lisp under version control.
<mrcom> You know, we were making fun of somebody recently talking about pinned versions of libraries. But suddenly seem to keep running into problems because of (lack of) it.
<mrcom> (Well, not making fun of really. Expressing reservations about need for.)
<gilberth> I don't need pinned versions I need an ASDF that makes it easy to just load libs from where I wanted them to be loaded from :-)
<bike> extended function names seem easier to deal with than extended special operators
dino_tutter has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
reb` has quit [Ping timeout: 268 seconds]
<gilberth> mrcom: Huh. DEFUN macro expands by itself? When I say (cl:macroexpand '(defun foo (x) (incf x))) I see INCF expanded.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<gilberth> bike: I would object. Begins with there is no SPECIAL-FUNCTION-NAME-P.
<bike> i mean, if you're walking code, you can just see whatever in a FUNCTION form and go "oh, i guess that's a function name". but with an extra special operator you have no hope of proceeding without knowing the particulars
<bike> you're right about the declare function name thing, by the way. works fine in clasp. i don't know what the point of named lambda is.
<gilberth> bike: If it were so easy.
<gilberth> It appears that with ABCL #'(sys:named-lambda foo (x) ...) really is already fully macroexpanded.
<gilberth> The ECL variant #'(lambda-block foo (x) ...) is not fully expanded yet.
donleo has quit [Ping timeout: 264 seconds]
<gilberth> So it is not a mere funny function name. In neither case it is.
<gilberth> A coder walker may want e.g want to know which variables are read or written.
<bike> oh, sorry, i was thinking more like sbcl's ctors, where it's genuinely just a name. not a different kind of lambda expression.
<gilberth> Yes, a funny name like #'(FOOATOR BAR) would be fine.
<gilberth> Makes me wonder if this (SETF FOO) is related to ancient DEFUNs which would deposit a property when you say (defun (foo bar) (x) ...). But perhaps just a coincidence.
<bike> mhm. like i said, i don't get named-lambda. too disruptive, and for what purpose?
<bike> you can get most of the way there with a named-lambda macro that expands into labels, anyway. pretty sure that's in alexandria or somesuch
<gilberth> mrcom: I updated <http://clim.rocks/gilbert/meall.lisp> for SYSTEM:NAMED-LAMBDA. Here is what I get <https://termbin.com/3e8l>
<mrcom> Yeah, that's more-or-less what built-in macroexpand-all shows. Notice no "(eval-when").
<mrcom> In their (process-toplevel-defun (...)) :
<gilberth> So where does the eval-when come from that you see?
<mrcom> I don't. They don't do that. Instead of the macro expansion cleanly emitting eval-when code, it just goes ahead and directly executes it.
<mrcom> For example, in process-toplevel-defun, there's this section at the bottom:
<mrcom> ;; If NAME is not fbound, provide a dummy definition so that
<mrcom> ;; getSymbolFunctionOrDie() will succeed when we try to verify that
<mrcom> ;; functions defined later in the same file can be loaded correctly.
<mrcom> (setf (fdefinition name) #'dummy)
<mrcom> (unless (fboundp name)
<mrcom> (push name *fbound-names*)))
<mrcom> So they're binding a (dummy) definition to the symbol when the defun is processed, rather than expanding to code which will be executed at load-time.
<gilberth> Hmm. And how did you get meall:macroexpand-all into that process?
<mrcom> If meall:macroexpand-all attempts to completely exand, e.g., (defun ...), at the toplevel, it will miss the magic stuff that's being directly handled by the compiler's expansion of defun.
<gilberth> Ah, I see.
<gilberth> So technically meall isn't breaking, it just expands too much or something that this hack of process-toplevel-form won't recognize a DEFUN anymore?
<mrcom> No, technically ABCL is messing up.
<gilberth> Good. And thanks.
<bike> the macroexpander has side effects? argh...
Gleefre has quit [Ping timeout: 250 seconds]
<mrcom> Yeah.
<gilberth> I am starving, it is late and I really better hurry eating something to not upset my fragile sleeping pattern too much.
<mrcom> Feed the body, feed the mind.
<gilberth> mrcom: We talk again. Maybe we can figure out what happens.
awlygj has quit [Ping timeout: 268 seconds]
<mrcom> bike: From Clasp, SBCL, ECL, CCL, I've learned lots of ways I can mess up snooping on definitions. Unfortunately, from ABCL I only learned how *they* can mess up.
<mrcom> I'm not saying anything about other aspects of the codebase, just the little corner I ran into.
<mrcom> (Haven't figured out what Clisp is telling me yet...)
awlygj has joined #commonlisp
<bike> well, let me know if clasp is doing anything stupid for me to correct
<bike> i've tried to cut out all our weird special operators to make code walking possible
waleee has joined #commonlisp
<mrcom> No, the only problem was the one you helped with, which was my problem.
<mrcom> Everything's working much better than I deserve. When the spec says "thou shalt not shadow standard stuff or, like, directly execute standard function bindings" (CLHS 11.2.1.1.2),
<mrcom> which I do, it's kind of nice that several different implementations work perfectly for my purposes.
X-Scale has quit [Quit: Client closed]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
amb007 has quit [Ping timeout: 256 seconds]
craigbro has quit [Remote host closed the connection]
skeemer has joined #commonlisp