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/>
MyNetAz has joined #commonlisp
shawnw has joined #commonlisp
dra has quit [Ping timeout: 252 seconds]
dra has joined #commonlisp
dra has quit [Changing host]
dra has joined #commonlisp
mountainman1312 has joined #commonlisp
dra has quit [Ping timeout: 248 seconds]
MyNetAz has quit [Remote host closed the connection]
MyNetAz has joined #commonlisp
cdegroot has joined #commonlisp
kevingal has quit [Ping timeout: 265 seconds]
Catie has quit [Quit: ZNC 1.9.1 - https://znc.in]
akoana has joined #commonlisp
Catie has joined #commonlisp
zwr has quit [Read error: Connection reset by peer]
zwr has joined #commonlisp
pkal_ has joined #commonlisp
pkal has quit [Ping timeout: 248 seconds]
pkal_ is now known as pkal
Pixel_Outlaw has joined #commonlisp
<Pixel_Outlaw> Ahoy all. Is it safe to mutate a quasi-quoted list? I know you're not supposed to for standard quoted list literals.
scymtym has quit [Read error: Connection reset by peer]
scymtym has joined #commonlisp
olnw has joined #commonlisp
kyoji has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 265 seconds]
kyoji has joined #commonlisp
decweb has quit [Ping timeout: 260 seconds]
<bike> Pixel_Outlaw: no, it is not safe.
foretspaisibles has quit [Remote host closed the connection]
<Pixel_Outlaw> bike, Thanks.
<Pixel_Outlaw> Really then you can say that spliced lists can't be used in the full capacity of lists made with the LIST function?
<Pixel_Outlaw> Hmm, I wonder if I've made some bad macros in the past then.
foretspa1sibles has joined #commonlisp
akoana has quit [Quit: leaving]
decweb has joined #commonlisp
dostoevsky has quit [Quit: Leaving]
<White_Flame> technically, mutating the 3rd+ elements of `(1 2 ,@(runtime-generated-things)) should be safe, just not anything in literally specified cells
<beach> I don't see how the first and the second cell could be literally specified. The second cell must be created with its CDR generated at run time, and the first cell must have the second cell in its CDR.
decweb has quit [Ping timeout: 276 seconds]
<White_Flame> oh, I guess that's true
<White_Flame> basically any literal sublist would be off-limits to modification, while any concatenated non-tail portion of a list would be dynamically allocated
<White_Flame> sublist = a full list value somewhere, not a span of a larger list
<aeth> so the quoted list in this isn't literal? `(progn '(1 2 ,@(runtime-generated-things)))
<White_Flame> (dyn dyn (lit lit) ,@(...) lit lit)
<White_Flame> right
<White_Flame> a list containing a dynamically generated list element would have to be copied/appended/etc
<White_Flame> transitively
<White_Flame> however, that's just the practice of the matter. the spec is probably more conservative
amb007 has quit [Ping timeout: 265 seconds]
<Pixel_Outlaw> So ` makes kind of a mess then.
<White_Flame> dynamic allocation is contagious within `
<White_Flame> any fully literal list however should remain literal and not be mutated
<White_Flame> unless used by ,@ ;)
<White_Flame> in a non-tail position (1 2 ,@(3 4 5) 6)
<White_Flame> so yeah, rules upon rules. Don't mutate anything ;)
amb007 has joined #commonlisp
<aeth> this sort of thing is best done immutably, anyway
<Pixel_Outlaw> Ok, that's fair.
<Pixel_Outlaw> So, for example if I have a list of card faces like `(A K Q J 1 2 3 4 5 6 7 8 9 10) I should not use stuff like remove-if
<Pixel_Outlaw> Sorry, delete-if
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
triffid has quit [Remote host closed the connection]
Pixel_Outlaw has quit [Remote host closed the connection]
pve has joined #commonlisp
gorignak has joined #commonlisp
triffid has joined #commonlisp
mishoo has joined #commonlisp
d4ryus has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
chomwitt has quit [Ping timeout: 272 seconds]
d4ryus has quit [Quit: WeeChat 4.2.2]
d4ryus has joined #commonlisp
d4ryus has quit [Client Quit]
d4ryus has joined #commonlisp
cmack` has joined #commonlisp
cmack has quit [Ping timeout: 260 seconds]
mgl has joined #commonlisp
Alfr is now known as Guest3795
Guest3795 has quit [Killed (zinc.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
shka has joined #commonlisp
alendvai__ has joined #commonlisp
xaltsc has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
wacki has joined #commonlisp
_cymew_ has joined #commonlisp
edgar-rft_ has joined #commonlisp
svm has joined #commonlisp
edgar-rft` has quit [Ping timeout: 248 seconds]
msv has quit [Ping timeout: 272 seconds]
svm is now known as msv