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/>
habamax has quit [Remote host closed the connection]
bjorkintosh has quit [Quit: Leaving]
tok has quit [Remote host closed the connection]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
attila_lendvai_ has quit [Ping timeout: 260 seconds]
random-nick has quit [Ping timeout: 258 seconds]
ldb has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 264 seconds]
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life has joined #commonlisp
habamax has joined #commonlisp
hrberg has quit [Remote host closed the connection]
hrberg has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
Krystof has quit [Ping timeout: 255 seconds]
X-Scale has joined #commonlisp
jeffrey has quit [Quit: Client quit]
sjl has quit [Quit: WeeChat 3.6]
larix1 has quit [Ping timeout: 255 seconds]
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.90)]
tyson2 has quit [Remote host closed the connection]
wonko-the-sane has joined #commonlisp
azimut has joined #commonlisp
dajole has quit [Quit: Connection closed for inactivity]
limiduality has quit [Ping timeout: 246 seconds]
wonko-the-sane has quit [Ping timeout: 256 seconds]
bjorkint0sh has joined #commonlisp
bjorkintosh has quit [Ping timeout: 245 seconds]
dcb has quit [Read error: Connection reset by peer]
dcb has joined #commonlisp
wonko-the-sane has joined #commonlisp
wonko-the-sane has quit [Ping timeout: 256 seconds]
wonko-the-sane has joined #commonlisp
contrapunctus has joined #commonlisp
wonko-the-sane has quit [Ping timeout: 256 seconds]
dinomug has joined #commonlisp
habamax has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Client Quit]
Pixel_Outlaw has quit [Quit: Leaving]
notzmv has quit [Ping timeout: 264 seconds]
bubblegum has joined #commonlisp
<Shinmera> or you can just not give a shit about any of that
<Shinmera> worked really well for me so far
dcb has quit [Quit: MSN Messenger 4.1.0]
X-Scale has quit [Quit: Client closed]
bubblegum has quit [Ping timeout: 248 seconds]
<moon-child> I mean
<moon-child> synch (in all secretly-the-same senses of the word) is definitely a real problem
pve has joined #commonlisp
<Shinmera> we're specifically talking about the context of games and live redefinition of classes and methods
<Shinmera> Anyway,
<Shinmera> New release: https://shirakumo.github.io/cl-turbojpeg/ Support my continued work on Patreon: https://patreon.com/shinmera
<ixelp> Cl Turbojpeg
wonko-the-sane has joined #commonlisp
igemnace has joined #commonlisp
notzmv has joined #commonlisp
rgherdt has joined #commonlisp
donleo has joined #commonlisp
amb007 has quit [Ping timeout: 258 seconds]
amb007 has joined #commonlisp
<aeth> huh, changing class at runtime in a game
cage has joined #commonlisp
<aeth> I guess everyone really does have extremely, extremely different architectures to approach games
Gleefre has joined #commonlisp
shka has joined #commonlisp
igemnace has quit [Remote host closed the connection]
dino_tutter has joined #commonlisp
Inline has quit [Quit: Leaving]
waleee has joined #commonlisp
dinomug has quit [Remote host closed the connection]
poww0wmus1c has joined #commonlisp
<poww0wmus1c> How do you properly pass a lambda construct to a function? Sometimes I see (foo #'(lambda ...)), but I think (foo (lambda ...)) also works. Is that true? Is there a difference?
<beach> poww0wmus1c: You can forget about #'(lambda...).
<beach> poww0wmus1c: LAMBDA is a macro so that (LAMBDA (...) ...) expands to (FUNCTION (LAMBDA (...) ...)).
<beach> poww0wmus1c: And in #'(lambda (...) ...), #' is a reader macro so the reader returns (FUNCTION (LAMBDA (...) ...)).
<beach> poww0wmus1c: Does that make sense? We had a very long discussion with lispmacs[work] yesterday on this very subject.
<beach> poww0wmus1c: You can try it out by typing (macroexpand-1 '(lambda (x) x)) to the REPL.
<poww0wmus1c> The result of that is #'(LAMBDA (X) X) in the REPL. Expanding that result in turn gives #<FUNCTION (LAMBDA (X)) {some-number}>.
<beach> How did you "expand that result"?
<poww0wmus1c> macroexpand-1
<beach> You mean (macroexpand-1 #'(LAMBDA (X) X))?
<poww0wmus1c> Yes
<beach> That's very different. What you did was to evaluate #'(LAMBDA (X) X) which evaluates to a function.
<beach> ... printed as #<FUNCTION...>
<beach> And calling MACROEXPAND-1 on an atom like that will result in the same thing.
<beach> If you want to check out what MACROEXPAND-1 does, you should give it a macro form, which is usually a list where the first element is a symbol naming a macro.
<beach> But the important part here is that LAMBDA is a macro so that (LAMBDA (...) ...) expands to (FUNCTION (LAMBDA (...) ...) which is the same as what you get when you type #'(LAMBDA (...) ...).
<beach> Therefore, you never need to type #'(LAMBDA (...) ...).
<poww0wmus1c> So with #'(lambda ...), the reader macro is used to obtain (function (lambda ...)), whereas with (lambda ...), the macro bound to the symbol lambda is used to obtain the same result?
<beach> Yes.
<beach> You got it.
<poww0wmus1c> Yay :)
<poww0wmus1c> Thank you
<beach> Pleasure.
random-nick has joined #commonlisp
jeffrey has joined #commonlisp
anticrisis has quit [Read error: Connection reset by peer]
msavoritias has joined #commonlisp
waleee has quit [Ping timeout: 258 seconds]
Krystof has joined #commonlisp
cstub has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
Posterdati has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
Posterdati has joined #commonlisp
makomo has joined #commonlisp
rgherdt has quit [Ping timeout: 264 seconds]
cstub has quit [Quit: Leaving]
Inline has joined #commonlisp
tok has joined #commonlisp
habamax has quit [Remote host closed the connection]
JuanDaugherty has joined #commonlisp
Lycurgus has joined #commonlisp
yitzi has joined #commonlisp
OlCe has quit [Remote host closed the connection]
random-jellyfish has joined #commonlisp
cstub has joined #commonlisp
Lycurgus has quit [Quit: leaving]
JuanDaugherty has quit [Quit: JuanDaugherty]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 264 seconds]
rgherdt has joined #commonlisp
cstub has quit [Quit: Leaving]
alphacentauri has quit [Quit: WeeChat 4.1.0]
dino_tutter has quit [Ping timeout: 258 seconds]
random-jellyfish has quit [Ping timeout: 258 seconds]
Algernon69 has joined #commonlisp
bjorkint0sh has quit [Quit: Leaving]
wonko-the-sane has quit [Ping timeout: 256 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
X-Scale has joined #commonlisp
igemnace has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
larix1 has joined #commonlisp
tyson2 has joined #commonlisp
elevenkb has left #commonlisp [ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
Algernon69 has quit [Quit: Leaving]
alphacentauri has joined #commonlisp
igemnace has quit [Remote host closed the connection]
dcb has joined #commonlisp
amb007 has joined #commonlisp
_dcb has joined #commonlisp
dcb has quit [Read error: Connection reset by peer]
igemnace has joined #commonlisp
dom2 has joined #commonlisp
igemnace has quit [Remote host closed the connection]
alphacentauri has quit [Quit: WeeChat 4.1.0]
waleee has joined #commonlisp
dino_tutter has joined #commonlisp
notzmv has quit [Ping timeout: 258 seconds]
attila_lendvai_ has joined #commonlisp
notzmv has joined #commonlisp
rogersm has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
mgl has joined #commonlisp
simendsjo has joined #commonlisp
simendsjo has quit [Remote host closed the connection]
sjl_ is now known as sjl
cstub has joined #commonlisp
simendsjo has joined #commonlisp
doyougnu has quit [Ping timeout: 255 seconds]
rakka has joined #commonlisp
rcharles has joined #commonlisp
rgherdt has quit [Ping timeout: 264 seconds]
cstub has quit [Read error: Connection reset by peer]
rcharles has left #commonlisp [Using Circe, the loveliest of all IRC clients]
cstub has joined #commonlisp
skin has left #commonlisp [#commonlisp]
doyougnu has joined #commonlisp
X-Scale11 has joined #commonlisp
X-Scale has quit [Ping timeout: 248 seconds]
mgl has quit [Ping timeout: 255 seconds]
msavoritias has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
rtypo has joined #commonlisp
X-Scale11 has quit [Ping timeout: 248 seconds]
zxcvz has joined #commonlisp
anticrisis has joined #commonlisp
_dcb is now known as dcb
notzmv has quit [Ping timeout: 240 seconds]
zxcvz has quit [Quit: zxcvz]
lucasta has joined #commonlisp
notzmv has joined #commonlisp
mgl has joined #commonlisp
notzmv has quit [Ping timeout: 246 seconds]
elevenkb has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 29.1]
santiagopim has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
X-Scale8 has joined #commonlisp
puke has quit [Quit: puke]
X-Scale has quit [Ping timeout: 248 seconds]
puke has joined #commonlisp
mgl has quit [Ping timeout: 246 seconds]
kurfen has quit [Ping timeout: 260 seconds]
X-Scale8 has quit [Ping timeout: 248 seconds]
X-Scale has joined #commonlisp
cstub has quit [Ping timeout: 245 seconds]
drewjose3 has joined #commonlisp
drewjose has quit [Ping timeout: 255 seconds]
drewjose3 is now known as drewjose
random-jellyfish has joined #commonlisp
random-jellyfish has joined #commonlisp
skin has joined #commonlisp
mgl has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
<skin> I want to run FSet's `setup-readtable` function that adds `#[]`, `#{| |}` and `#{}` syntax to the readtable, and then use that syntax in the file. How can I tell SBCL to run `setup-readtable` at file load time, before the rest of the file is loaded? Right now, it loads the file, and then chokes on the extra syntax.
<bike> when you load a _source_ file, your lisp will read each form one at a time, and then evaluate them. so if you put your readtable stuff before the stuff using that readtable it should be fine.
mgl has quit [Ping timeout: 255 seconds]
<bike> with the understanding that if you do (progn (setup-readtable ...) (whatever #[...])) there will still be problems, since the progn is read first
<mfiano> Also note that if this syntax is intended to be used by users of your library, they will have to do the same.
<bike> but are you actually loading a source file, or are you doing compile-file or what
X-Scale has quit [Quit: Client closed]
Gleefre has joined #commonlisp
jonatack has quit [Ping timeout: 255 seconds]
jonatack has joined #commonlisp
simendsjo has quit [Ping timeout: 248 seconds]
azimut has quit [Ping timeout: 256 seconds]
<skin> I have sbcl up, and I run `(asdf:test-system "mysystem")`, and it chokes on the syntax even though I have `(fset:setup-fset-readtable *readtable*)` at the top of the file.
<bike> okay, well asdf is probably going to compile the file before loading it, if you didn't do anything fancy.
<bike> try replacing that form with (eval-when (:compile-toplevel :load-toplevel :execute) (fset:setup-fset-readtable *readtable*))
<bike> that'll tell the compiler to install the readtable before compiling the rest
<skin> Thanks, I'll give it a shot.
shka has quit [Quit: Konversation terminated!]
<skin> https://www.sbcl.org/manual/#Initialization-Files <-- that implies that when files are `load`ed there could be a problem. Wonder if that's happening.
<ixelp> SBCL 2.3.9 User Manual
<bike> wait, is this in your initialization file? like, .sbclrc? or is it part of your system.
shka has joined #commonlisp
<bike> i think it's more usual to use named-readtables https://github.com/melisgl/named-readtables which provides in-readtable, which is analogous to in-package
<ixelp> GitHub - melisgl/named-readtables: The official repo of named-readtables.
<bike> no idea how that would work with fset
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
wonko-the-sane has joined #commonlisp
wonko-the-sane has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
wonko-the-sane has joined #commonlisp
random-jellyfish has quit [Ping timeout: 260 seconds]
shka has quit [Ping timeout: 248 seconds]
elevenkb has left #commonlisp [ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
elevenkb has joined #commonlisp
notzmv has joined #commonlisp
lucasta has quit [Quit: Leaving]
borodust has quit [Quit: Leavin']
borodust has joined #commonlisp
<skin> I'll take a look at that. No, it's at the top of the test file.
<bike> well what that manual section is referring to is that *Readtable* is rebound around load (and compile-file for that matter) so if you change readtable in one file that won't affect others.
<bike> if you mutate the readtable that shouldn't be a problem, but mutating the one readtable is a little non cooperative
rtypo has quit [Ping timeout: 258 seconds]
<jcowan> Unfortunately this prevents you from loading a file that installs your personal changes to the readtable.
Pixel_Outlaw has joined #commonlisp
habamax has joined #commonlisp
pve has quit [Quit: leaving]
rgherdt has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 240 seconds]
dino_tutter has quit [Ping timeout: 240 seconds]
ldb has joined #commonlisp
dom2 has quit [Remote host closed the connection]
notzmv has quit [Remote host closed the connection]
girf has joined #commonlisp
random-nick has quit [Ping timeout: 248 seconds]
notzmv has joined #commonlisp
donleo has quit [Ping timeout: 272 seconds]
flip214 has quit [Read error: Connection reset by peer]
flip214 has joined #commonlisp
tok has quit [Remote host closed the connection]
glaucon has joined #commonlisp
rgherdt has quit [Quit: Leaving]
girf has quit [Quit: Leaving]
girf has joined #commonlisp
girf has quit [Changing host]
girf has joined #commonlisp
makomo has quit [Ping timeout: 255 seconds]
moon-child has quit [Ping timeout: 255 seconds]