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/>
akasha has quit []
random-nick has quit [Ping timeout: 245 seconds]
lucasta has quit [Remote host closed the connection]
lucasta has joined #commonlisp
lucasta has quit [Remote host closed the connection]
<jcowan> Well, sort of. For a real subsetp you'd need to be independent of order; search depends on the order being correct.
beach` is now known as beach
jmdaemon has quit [Ping timeout: 245 seconds]
<White_Flame> yeah, this is subseqp instead of subsetp
tyson2 has quit [Remote host closed the connection]
alcor has quit [Read error: Connection reset by peer]
parjanya has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
tyson2 has joined #commonlisp
fourier has quit [Server closed connection]
fourier has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
Lycurgus has joined #commonlisp
dipper has joined #commonlisp
griffinmb_ has quit [Server closed connection]
griffinmb_ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
habamax has quit [Remote host closed the connection]
habamax has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
ec has joined #commonlisp
ec has quit [Remote host closed the connection]
overclucker has quit [*.net *.split]
dtman34 has quit [*.net *.split]
fiddlerwoaroof_ has quit [*.net *.split]
SAL9000 has quit [*.net *.split]
bird_ has quit [*.net *.split]
jcowan has quit [*.net *.split]
Jach has quit [*.net *.split]
drmeister has quit [*.net *.split]
robin has quit [*.net *.split]
steew has quit [*.net *.split]
dale has quit [*.net *.split]
aeth has quit [*.net *.split]
mathrick has quit [*.net *.split]
pranavats has quit [*.net *.split]
selwynning has quit [*.net *.split]
slyrus has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
\f has quit [*.net *.split]
jonlevin has quit [*.net *.split]
whereiseveryone has quit [*.net *.split]
empwilli has quit [*.net *.split]
artyn has quit [*.net *.split]
ggb has quit [*.net *.split]
Schnouki has quit [*.net *.split]
jmbr has quit [*.net *.split]
milesrout_ has quit [*.net *.split]
srhm has quit [*.net *.split]
zoglesby has quit [*.net *.split]
alethkit has quit [*.net *.split]
skin has quit [*.net *.split]
energizer has quit [*.net *.split]
famicom_guy has quit [*.net *.split]
timmy has quit [*.net *.split]
payphone has quit [*.net *.split]
theothornhill has quit [*.net *.split]
nytpu has quit [*.net *.split]
chiheisen has quit [*.net *.split]
froggey has quit [*.net *.split]
dirtcastle has quit [*.net *.split]
jasom has quit [*.net *.split]
sm2n has quit [*.net *.split]
mcoll has quit [*.net *.split]
ec has joined #commonlisp
sirufer has quit [Remote host closed the connection]
cpli has quit [Read error: Connection reset by peer]
mhcat has quit [Write error: Connection reset by peer]
ashpool has quit [Read error: Connection reset by peer]
pvac has quit [Remote host closed the connection]
theesm has quit [Write error: Connection reset by peer]
shunter has quit [Remote host closed the connection]
shunter has joined #commonlisp
mhcat has joined #commonlisp
Schnouki_ has joined #commonlisp
zoglesby_ has joined #commonlisp
pvac has joined #commonlisp
ggb_ has joined #commonlisp
chiheisen_ has joined #commonlisp
jmbr_ has joined #commonlisp
cpli has joined #commonlisp
pvac has quit [Changing host]
pvac has joined #commonlisp
aeth has joined #commonlisp
dale has joined #commonlisp
m5zs7k has joined #commonlisp
Schnouki has joined #commonlisp
jonlevin has joined #commonlisp
zoglesby has joined #commonlisp
srhm has joined #commonlisp
artyn has joined #commonlisp
selwynning has joined #commonlisp
bird_ has joined #commonlisp
drmeister has joined #commonlisp
SAL9000 has joined #commonlisp
mathrick has joined #commonlisp
robin has joined #commonlisp
steew has joined #commonlisp
jcowan has joined #commonlisp
Jach has joined #commonlisp
pranavats has joined #commonlisp
slyrus has joined #commonlisp
\f has joined #commonlisp
fiddlerwoaroof_ has joined #commonlisp
whereiseveryone has joined #commonlisp
overclucker has joined #commonlisp
empwilli has joined #commonlisp
ggb has joined #commonlisp
jmbr has joined #commonlisp
alethkit has joined #commonlisp
dtman34 has joined #commonlisp
famicom_guy has joined #commonlisp
energizer has joined #commonlisp
timmy has joined #commonlisp
milesrout_ has joined #commonlisp
nytpu has joined #commonlisp
skin has joined #commonlisp
theothornhill has joined #commonlisp
payphone has joined #commonlisp
dirtcastle has joined #commonlisp
sm2n has joined #commonlisp
chiheisen has joined #commonlisp
froggey has joined #commonlisp
jasom has joined #commonlisp
mcoll has joined #commonlisp
skin_ has joined #commonlisp
ashpool has joined #commonlisp
milesrout_ has quit [Read error: Connection reset by peer]
timmy has quit [Read error: Connection reset by peer]
jmbr has quit [Read error: Connection reset by peer]
payphone has quit [Read error: Connection reset by peer]
whereiseveryone has quit [Max SendQ exceeded]
sm2n has quit [Max SendQ exceeded]
jasom has quit [Read error: Connection reset by peer]
chiheisen has quit [Read error: Connection reset by peer]
alethkit has quit [Read error: Connection reset by peer]
theothornhill has quit [Read error: Connection reset by peer]
artyn has quit [Read error: Connection reset by peer]
zoglesby has quit [Read error: Connection reset by peer]
jonlevin has quit [Read error: Connection reset by peer]
skin has quit [Remote host closed the connection]
\f has quit [Read error: Connection reset by peer]
nytpu has quit [Read error: Connection reset by peer]
ggb has quit [Read error: Connection reset by peer]
srhm has quit [Read error: Connection reset by peer]
mcoll has quit [Read error: Connection reset by peer]
jmbr_ is now known as jmbr
skin_ is now known as skin
Schnouki has quit [Read error: Connection reset by peer]
chiheisen_ is now known as chiheisen
alethkit_ has joined #commonlisp
Schnouki_ is now known as Schnouki
srhm_ has joined #commonlisp
theothornhill_ has joined #commonlisp
theothornhill_ is now known as theothornhill
zoglesby_ is now known as zoglesby
jasom__ has joined #commonlisp
jasom__ is now known as jasom
payphone_ has joined #commonlisp
mcoll_ has joined #commonlisp
timmy_ has joined #commonlisp
timmy_ is now known as timmy
payphone_ is now known as payphone
theesm has joined #commonlisp
artyn_ has joined #commonlisp
sirufer has joined #commonlisp
mcoll_ is now known as mcoll
ggb_ is now known as ggb
milesrout has joined #commonlisp
nytpu has joined #commonlisp
artyn_ is now known as artyn
srhm_ is now known as srhm
whereiseveryone has joined #commonlisp
sm2n has joined #commonlisp
alethkit_ is now known as alethkit
jonlevin has joined #commonlisp
\f has joined #commonlisp
overclucker has quit [*.net *.split]
dtman34 has quit [*.net *.split]
fiddlerwoaroof_ has quit [*.net *.split]
SAL9000 has quit [*.net *.split]
Jach has quit [*.net *.split]
bird_ has quit [*.net *.split]
jcowan has quit [*.net *.split]
drmeister has quit [*.net *.split]
robin has quit [*.net *.split]
selwynning has quit [*.net *.split]
steew has quit [*.net *.split]
dale has quit [*.net *.split]
slyrus has quit [*.net *.split]
aeth has quit [*.net *.split]
mathrick has quit [*.net *.split]
pranavats has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
empwilli has quit [*.net *.split]
famicom_guy has quit [*.net *.split]
energizer has quit [*.net *.split]
dirtcastle has quit [*.net *.split]
froggey has quit [*.net *.split]
pranavats has joined #commonlisp
bird_ has joined #commonlisp
overclucker has joined #commonlisp
fiddlerwoaroof_ has joined #commonlisp
dtman34 has joined #commonlisp
SAL9000 has joined #commonlisp
Jach has joined #commonlisp
steew has joined #commonlisp
jcowan has joined #commonlisp
aeth has joined #commonlisp
drmeister has joined #commonlisp
selwynning has joined #commonlisp
robin has joined #commonlisp
dale has joined #commonlisp
dirtcastle has joined #commonlisp
froggey has joined #commonlisp
energizer has joined #commonlisp
empwilli has joined #commonlisp
slyrus has joined #commonlisp
m5zs7k has joined #commonlisp
mathrick has joined #commonlisp
famicom_guy has joined #commonlisp
xantoz has quit [*.net *.split]
knusbaum has quit [*.net *.split]
wheeler has quit [*.net *.split]
ezakimak has quit [*.net *.split]
light has quit [*.net *.split]
borodust has quit [*.net *.split]
Colleen has quit [*.net *.split]
dstein64 has quit [*.net *.split]
kreuter has quit [*.net *.split]
d4ryus has quit [*.net *.split]
jurassic has quit [*.net *.split]
prokhor has quit [*.net *.split]
saturn2 has quit [*.net *.split]
rtoy has quit [*.net *.split]
hernan has quit [*.net *.split]
phileasfogg has quit [*.net *.split]
leeb has quit [*.net *.split]
Shinmera has quit [*.net *.split]
markasoftware has quit [*.net *.split]
jfb4 has quit [*.net *.split]
vxe420 has quit [*.net *.split]
light has joined #commonlisp
knusbaum has joined #commonlisp
011AABQ7C has joined #commonlisp
xantoz has joined #commonlisp
borodust has joined #commonlisp
wheeler has joined #commonlisp
Colleen has joined #commonlisp
ezakimak has joined #commonlisp
d4ryus has joined #commonlisp
kreuter has joined #commonlisp
prokhor has joined #commonlisp
jurassic has joined #commonlisp
dstein64 has joined #commonlisp
hernan has joined #commonlisp
leeb has joined #commonlisp
phileasfogg has joined #commonlisp
saturn2 has joined #commonlisp
jfb4 has joined #commonlisp
vxe420 has joined #commonlisp
Shinmera has joined #commonlisp
markasoftware has joined #commonlisp
copec has quit [*.net *.split]
flip214 has quit [*.net *.split]
ns12 has quit [*.net *.split]
kg7ski- has quit [*.net *.split]
AndrewYu has quit [*.net *.split]
samebchase has quit [*.net *.split]
luis has quit [*.net *.split]
nyx_land has quit [*.net *.split]
rendar has quit [*.net *.split]
hineios has quit [*.net *.split]
son0p has quit [*.net *.split]
kaskal has quit [*.net *.split]
ski has quit [*.net *.split]
buffet has quit [*.net *.split]
pl has quit [*.net *.split]
thonkpod has quit [*.net *.split]
micro has quit [*.net *.split]
Sario has quit [*.net *.split]
boigahs has quit [*.net *.split]
phoe has quit [*.net *.split]
Krystof has quit [*.net *.split]
bike has quit [*.net *.split]
enzuru has quit [*.net *.split]
pkal has quit [*.net *.split]
luis has joined #commonlisp
flip214 has joined #commonlisp
samebchase has joined #commonlisp
ski has joined #commonlisp
son0p has joined #commonlisp
hineios has joined #commonlisp
rendar has joined #commonlisp
nyx_land has joined #commonlisp
kaskal has joined #commonlisp
pl has joined #commonlisp
kg7ski- has joined #commonlisp
ns12 has joined #commonlisp
copec has joined #commonlisp
020AACZ7C has joined #commonlisp
buffet has joined #commonlisp
enzuru has joined #commonlisp
micro has joined #commonlisp
bike has joined #commonlisp
thonkpod has joined #commonlisp
phoe has joined #commonlisp
Sario has joined #commonlisp
Krystof has joined #commonlisp
boigahs has joined #commonlisp
pkal has joined #commonlisp
rendar has quit [Max SendQ exceeded]
copec has quit [Max SendQ exceeded]
020AACZ7C has quit [Max SendQ exceeded]
copec_ has joined #commonlisp
AndrewYu has joined #commonlisp
flip214 has quit [*.net *.split]
ns12 has quit [*.net *.split]
kg7ski- has quit [*.net *.split]
samebchase has quit [*.net *.split]
luis has quit [*.net *.split]
nyx_land has quit [*.net *.split]
hineios has quit [*.net *.split]
son0p has quit [*.net *.split]
kaskal has quit [*.net *.split]
ski has quit [*.net *.split]
buffet has quit [*.net *.split]
pl has quit [*.net *.split]
thonkpod has quit [*.net *.split]
Sario has quit [*.net *.split]
micro has quit [*.net *.split]
boigahs has quit [*.net *.split]
phoe has quit [*.net *.split]
Krystof has quit [*.net *.split]
bike has quit [*.net *.split]
enzuru has quit [*.net *.split]
pkal has quit [*.net *.split]
knusbaum has quit [*.net *.split]
xantoz has quit [*.net *.split]
wheeler has quit [*.net *.split]
light has quit [*.net *.split]
ezakimak has quit [*.net *.split]
borodust has quit [*.net *.split]
Colleen has quit [*.net *.split]
dstein64 has quit [*.net *.split]
kreuter has quit [*.net *.split]
d4ryus has quit [*.net *.split]
jurassic has quit [*.net *.split]
prokhor has quit [*.net *.split]
saturn2 has quit [*.net *.split]
011AABQ7C has quit [*.net *.split]
phileasfogg has quit [*.net *.split]
hernan has quit [*.net *.split]
leeb has quit [*.net *.split]
Shinmera has quit [*.net *.split]
markasoftware has quit [*.net *.split]
jfb4 has quit [*.net *.split]
vxe420 has quit [*.net *.split]
overclucker has quit [*.net *.split]
dtman34 has quit [*.net *.split]
fiddlerwoaroof_ has quit [*.net *.split]
SAL9000 has quit [*.net *.split]
Jach has quit [*.net *.split]
bird_ has quit [*.net *.split]
jcowan has quit [*.net *.split]
drmeister has quit [*.net *.split]
robin has quit [*.net *.split]
selwynning has quit [*.net *.split]
steew has quit [*.net *.split]
dale has quit [*.net *.split]
slyrus has quit [*.net *.split]
aeth has quit [*.net *.split]
mathrick has quit [*.net *.split]
pranavats has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
empwilli has quit [*.net *.split]
famicom_guy has quit [*.net *.split]
energizer has quit [*.net *.split]
dirtcastle has quit [*.net *.split]
froggey has quit [*.net *.split]
AndrewYu has quit [*.net *.split]
copec_ has quit [*.net *.split]
srhm has quit [*.net *.split]
alethkit has quit [*.net *.split]
skin has quit [*.net *.split]
ashpool has quit [*.net *.split]
cpli has quit [*.net *.split]
jmbr has quit [*.net *.split]
shunter has quit [*.net *.split]
Schnouki has quit [*.net *.split]
mhcat has quit [*.net *.split]
chiheisen has quit [*.net *.split]
habamax has quit [*.net *.split]
griffinmb_ has quit [*.net *.split]
edgar-rft has quit [*.net *.split]
markb1 has quit [*.net *.split]
Patternmaster has quit [*.net *.split]
tibfulv has quit [*.net *.split]
Alfr has quit [*.net *.split]
Lord_of_Life has quit [*.net *.split]
scymtym has quit [*.net *.split]
semarie has quit [*.net *.split]
jonlevin has quit [*.net *.split]
\f has quit [*.net *.split]
whereiseveryone has quit [*.net *.split]
sm2n has quit [*.net *.split]
nytpu has quit [*.net *.split]
theesm has quit [*.net *.split]
artyn has quit [*.net *.split]
sirufer has quit [*.net *.split]
milesrout has quit [*.net *.split]
payphone has quit [*.net *.split]
timmy has quit [*.net *.split]
mcoll has quit [*.net *.split]
jasom has quit [*.net *.split]
ggb has quit [*.net *.split]
theothornhill has quit [*.net *.split]
zoglesby has quit [*.net *.split]
pvac has quit [*.net *.split]
csos95 has quit [*.net *.split]
dino_tutter has quit [*.net *.split]
sunarch has quit [*.net *.split]
dipper has quit [*.net *.split]
Catie has quit [*.net *.split]
mariari has quit [*.net *.split]
NotThatRPG has quit [*.net *.split]
euandreh has quit [*.net *.split]
jonatack has quit [*.net *.split]
skeemer has quit [*.net *.split]
terrorjack has quit [*.net *.split]
fourier has quit [*.net *.split]
beach has quit [*.net *.split]
amb007 has quit [*.net *.split]
rgherdt has quit [*.net *.split]
easye has quit [*.net *.split]
kopiyka has quit [*.net *.split]
mrcom has quit [*.net *.split]
chrcav has quit [*.net *.split]
gpiero has quit [*.net *.split]
Demosthenex has quit [*.net *.split]
Equill has quit [*.net *.split]
jrm has quit [*.net *.split]
tychoish has quit [*.net *.split]
zups has quit [*.net *.split]
viaken has quit [*.net *.split]
phadthai has quit [*.net *.split]
kagevf has quit [*.net *.split]
contrapunctus has quit [*.net *.split]
pjb has quit [*.net *.split]
pok has quit [*.net *.split]
_death has quit [*.net *.split]
fe[nl]ix has quit [*.net *.split]
ogamita has quit [*.net *.split]
Ellenor has quit [*.net *.split]
yottabyte has quit [*.net *.split]
conjunctive has quit [*.net *.split]
eta has quit [*.net *.split]
mmk2410 has quit [*.net *.split]
marzhmallow has quit [*.net *.split]
notzmv has quit [*.net *.split]
Gleefre has quit [*.net *.split]
splatt990 has quit [*.net *.split]
sgithens_ has quit [*.net *.split]
Perflosopher has quit [*.net *.split]
jello_pudding has quit [*.net *.split]
Noisytoot has quit [*.net *.split]
qhong has quit [*.net *.split]
etimmons has quit [*.net *.split]
kmroz has quit [*.net *.split]
sveit has quit [*.net *.split]
jmiven has quit [*.net *.split]
tertek has quit [*.net *.split]
travis has quit [*.net *.split]
krjst has quit [*.net *.split]
danieli has quit [*.net *.split]
zephyr has quit [*.net *.split]
hexology has quit [*.net *.split]
les has quit [*.net *.split]
migap_ has quit [*.net *.split]
deadmarshal_ has quit [*.net *.split]
skyl4rk has quit [*.net *.split]
tasty has quit [*.net *.split]
leo_song has quit [*.net *.split]
bitblit1 has quit [*.net *.split]
therepl has quit [*.net *.split]
char[m] has quit [*.net *.split]
Duuqnd has quit [*.net *.split]
roygbyte[m] has quit [*.net *.split]
czy has quit [*.net *.split]
Spawns_Carpeting has quit [*.net *.split]
lonjil has quit [*.net *.split]
ROYGBYTE has quit [*.net *.split]
ec has quit [*.net *.split]
ecraven has quit [*.net *.split]
anticomputer has quit [*.net *.split]
gxt__ has quit [*.net *.split]
azimut has quit [*.net *.split]
zagura has quit [*.net *.split]
Mandus_ has quit [*.net *.split]
kurfen_ has quit [*.net *.split]
ElKowar has quit [*.net *.split]
semz has quit [*.net *.split]
pieguy128 has quit [*.net *.split]
justache has quit [*.net *.split]
BierLiebHaber has quit [*.net *.split]
mzan has quit [*.net *.split]
remexre has quit [*.net *.split]
z4kz has quit [*.net *.split]
kabriel has quit [*.net *.split]
mfiano has quit [*.net *.split]
jackdaniel has quit [*.net *.split]
nimiux has quit [*.net *.split]
hayley has quit [*.net *.split]
JonBoone[m] has quit [*.net *.split]
paulapatience has quit [*.net *.split]
edgarvincent[m] has quit [*.net *.split]
surabax[m] has quit [*.net *.split]
Mrtn[m] has quit [*.net *.split]
gko` has quit [*.net *.split]
dim has quit [*.net *.split]
jakky has quit [*.net *.split]
delyan_ has quit [*.net *.split]
ioa has quit [*.net *.split]
stylewarning has quit [*.net *.split]
susam has quit [*.net *.split]
luna-is-here has quit [*.net *.split]
dbotton has quit [*.net *.split]
jmercouris has quit [*.net *.split]
splittist_ has quit [*.net *.split]
oljenkins has quit [*.net *.split]
sco1 has quit [*.net *.split]
loke has quit [*.net *.split]
ixelp has quit [*.net *.split]
cdegroot has quit [*.net *.split]
jaimelm has quit [*.net *.split]
sukaeto1 has quit [*.net *.split]
grawlinson has quit [*.net *.split]
theBlackDragon has quit [*.net *.split]
mht-wtf has quit [*.net *.split]
spec has quit [*.net *.split]
MetaYan has quit [*.net *.split]
phantomics has quit [*.net *.split]
pony has quit [*.net *.split]
jryans has quit [*.net *.split]
specbot has quit [*.net *.split]
jebekab[m] has quit [*.net *.split]
jsatk_ has quit [*.net *.split]
mrvdb has quit [*.net *.split]
mister_m has quit [*.net *.split]
antoszka has quit [*.net *.split]
Brucio-61 has quit [*.net *.split]
drakonis has quit [*.net *.split]
patrix has quit [*.net *.split]
Enapiuz[m] has quit [*.net *.split]
infra_red[m] has quit [*.net *.split]
nicm[m] has quit [*.net *.split]
xaotuk[m] has quit [*.net *.split]
yitzi has quit [*.net *.split]
BrownJenkin has quit [*.net *.split]
hirez has quit [*.net *.split]
Nezteb has quit [*.net *.split]
IUSR has quit [*.net *.split]
iquites has quit [*.net *.split]
gendl__ has quit [*.net *.split]
gaze___ has quit [*.net *.split]
resttime has quit [*.net *.split]
iisi has quit [*.net *.split]
keja has quit [*.net *.split]
White_Flame has quit [*.net *.split]
Posterdati has quit [*.net *.split]
tetsuo9_ has quit [*.net *.split]
minion has quit [*.net *.split]
Fade has quit [*.net *.split]
elevenkb has quit [*.net *.split]
edwlan[m] has quit [*.net *.split]
Gnuxie has quit [*.net *.split]
|3b| has quit [*.net *.split]
haku has quit [*.net *.split]
lieven has quit [*.net *.split]
dmho has quit [*.net *.split]
ChanServ has quit [*.net *.split]
bike has joined #commonlisp
enzuru has joined #commonlisp
phoe has joined #commonlisp
Krystof has joined #commonlisp
micro has joined #commonlisp
boigahs has joined #commonlisp
thonkpod has joined #commonlisp
Sario has joined #commonlisp
buffet has joined #commonlisp
pl has joined #commonlisp
pkal has joined #commonlisp
luis has joined #commonlisp
flip214 has joined #commonlisp
ns12 has joined #commonlisp
jfb4 has joined #commonlisp
markasoftware has joined #commonlisp
vxe420 has joined #commonlisp
Shinmera has joined #commonlisp
hernan has joined #commonlisp
leeb has joined #commonlisp
phileasfogg has joined #commonlisp
011AABQ7C has joined #commonlisp
saturn2 has joined #commonlisp
prokhor has joined #commonlisp
jurassic has joined #commonlisp
d4ryus has joined #commonlisp
kreuter has joined #commonlisp
dstein64 has joined #commonlisp
ezakimak has joined #commonlisp
Colleen has joined #commonlisp
borodust has joined #commonlisp
wheeler has joined #commonlisp
knusbaum has joined #commonlisp
xantoz has joined #commonlisp
light has joined #commonlisp
froggey has joined #commonlisp
dirtcastle has joined #commonlisp
energizer has joined #commonlisp
famicom_guy has joined #commonlisp
m5zs7k has joined #commonlisp
empwilli has joined #commonlisp
mathrick has joined #commonlisp
aeth has joined #commonlisp
slyrus has joined #commonlisp
steew has joined #commonlisp
dale has joined #commonlisp
selwynning has joined #commonlisp
drmeister has joined #commonlisp
jcowan has joined #commonlisp
robin has joined #commonlisp
bird_ has joined #commonlisp
Jach has joined #commonlisp
SAL9000 has joined #commonlisp
fiddlerwoaroof_ has joined #commonlisp
overclucker has joined #commonlisp
dtman34 has joined #commonlisp
pranavats has joined #commonlisp
remexre has joined #commonlisp
gko` has joined #commonlisp
sco1 has joined #commonlisp
loke has joined #commonlisp
ixelp has joined #commonlisp
jaimelm has joined #commonlisp
dim has joined #commonlisp
z4kz has joined #commonlisp
kabriel has joined #commonlisp
sukaeto1 has joined #commonlisp
grawlinson has joined #commonlisp
mht-wtf has joined #commonlisp
theBlackDragon has joined #commonlisp
mfiano has joined #commonlisp
spec has joined #commonlisp
nimiux has joined #commonlisp
jackdaniel has joined #commonlisp
|3b| has joined #commonlisp
hirez has joined #commonlisp
Nezteb has joined #commonlisp
haku has joined #commonlisp
antoszka has joined #commonlisp
mister_m has joined #commonlisp
mrvdb has joined #commonlisp
jsatk_ has joined #commonlisp
iisi has joined #commonlisp
resttime has joined #commonlisp
iquites has joined #commonlisp
gendl__ has joined #commonlisp
IUSR has joined #commonlisp
gaze___ has joined #commonlisp
dmho has joined #commonlisp
lieven has joined #commonlisp
ChanServ has joined #commonlisp
oljenkins has joined #commonlisp
mzan has joined #commonlisp
ecraven has joined #commonlisp
ROYGBYTE has joined #commonlisp
tasty has joined #commonlisp
leo_song has joined #commonlisp
skyl4rk has joined #commonlisp
lonjil has joined #commonlisp
Spawns_Carpeting has joined #commonlisp
deadmarshal_ has joined #commonlisp
migap_ has joined #commonlisp
czy has joined #commonlisp
hexology has joined #commonlisp
Mrtn[m] has joined #commonlisp
edgarvincent[m] has joined #commonlisp
Gnuxie has joined #commonlisp
yitzi has joined #commonlisp
char[m] has joined #commonlisp
Duuqnd has joined #commonlisp
BrownJenkin has joined #commonlisp
elevenkb has joined #commonlisp
roygbyte[m] has joined #commonlisp
paulapatience has joined #commonlisp
edwlan[m] has joined #commonlisp
xaotuk[m] has joined #commonlisp
bitblit1 has joined #commonlisp
JonBoone[m] has joined #commonlisp
hayley has joined #commonlisp
nicm[m] has joined #commonlisp
jebekab[m] has joined #commonlisp
Enapiuz[m] has joined #commonlisp
surabax[m] has joined #commonlisp
therepl has joined #commonlisp
infra_red[m] has joined #commonlisp
Fade has joined #commonlisp
zephyr has joined #commonlisp
danieli has joined #commonlisp
BierLiebHaber has joined #commonlisp
justache has joined #commonlisp
les has joined #commonlisp
krjst has joined #commonlisp
travis has joined #commonlisp
tertek has joined #commonlisp
jmiven has joined #commonlisp
sveit has joined #commonlisp
splittist_ has joined #commonlisp
kmroz has joined #commonlisp
jryans has joined #commonlisp
notzmv has joined #commonlisp
pieguy128 has joined #commonlisp
marzhmallow has joined #commonlisp
mmk2410 has joined #commonlisp
eta has joined #commonlisp
conjunctive has joined #commonlisp
yottabyte has joined #commonlisp
semz has joined #commonlisp
jmercouris has joined #commonlisp
luna-is-here has joined #commonlisp
dbotton has joined #commonlisp
susam has joined #commonlisp
patrix has joined #commonlisp
stylewarning has joined #commonlisp
delyan_ has joined #commonlisp
drakonis has joined #commonlisp
Ellenor has joined #commonlisp
etimmons has joined #commonlisp
ElKowar has joined #commonlisp
qhong has joined #commonlisp
ogamita has joined #commonlisp
ioa has joined #commonlisp
jello_pudding has joined #commonlisp
minion has joined #commonlisp
specbot has joined #commonlisp
pony has joined #commonlisp
phantomics has joined #commonlisp
Perflosopher has joined #commonlisp
sgithens_ has joined #commonlisp
Noisytoot has joined #commonlisp
tetsuo9_ has joined #commonlisp
Mandus_ has joined #commonlisp
kurfen_ has joined #commonlisp
zagura has joined #commonlisp
fe[nl]ix has joined #commonlisp
_death has joined #commonlisp
pok has joined #commonlisp
MetaYan has joined #commonlisp
Posterdati has joined #commonlisp
pjb has joined #commonlisp
White_Flame has joined #commonlisp
jakky has joined #commonlisp
contrapunctus has joined #commonlisp
splatt990 has joined #commonlisp
kagevf has joined #commonlisp
keja has joined #commonlisp
tychoish has joined #commonlisp
jrm has joined #commonlisp
Demosthenex has joined #commonlisp
Equill has joined #commonlisp
gpiero has joined #commonlisp
chrcav has joined #commonlisp
semarie has joined #commonlisp
gxt__ has joined #commonlisp
mrcom has joined #commonlisp
kopiyka has joined #commonlisp
scymtym has joined #commonlisp
Alfr has joined #commonlisp
Brucio-61 has joined #commonlisp
Lord_of_Life has joined #commonlisp
tibfulv has joined #commonlisp
skeemer has joined #commonlisp
Patternmaster has joined #commonlisp
easye has joined #commonlisp
sunarch has joined #commonlisp
euandreh has joined #commonlisp
jonatack has joined #commonlisp
NotThatRPG has joined #commonlisp
azimut has joined #commonlisp
rgherdt has joined #commonlisp
markb1 has joined #commonlisp
AndrewYu has joined #commonlisp
ski has joined #commonlisp
kaskal has joined #commonlisp
son0p has joined #commonlisp
samebchase has joined #commonlisp
hineios has joined #commonlisp
kg7ski- has joined #commonlisp
Catie has joined #commonlisp
fourier has joined #commonlisp
terrorjack has joined #commonlisp
dipper has joined #commonlisp
griffinmb_ has joined #commonlisp
habamax has joined #commonlisp
ec has joined #commonlisp
shunter has joined #commonlisp
mhcat has joined #commonlisp
Schnouki has joined #commonlisp
zoglesby has joined #commonlisp
pvac has joined #commonlisp
ggb has joined #commonlisp
chiheisen has joined #commonlisp
jmbr has joined #commonlisp
cpli has joined #commonlisp
skin has joined #commonlisp
ashpool has joined #commonlisp
alethkit has joined #commonlisp
srhm has joined #commonlisp
theothornhill has joined #commonlisp
jasom has joined #commonlisp
payphone has joined #commonlisp
timmy has joined #commonlisp
mcoll has joined #commonlisp
artyn has joined #commonlisp
theesm has joined #commonlisp
sirufer has joined #commonlisp
milesrout has joined #commonlisp
nytpu has joined #commonlisp
whereiseveryone has joined #commonlisp
sm2n has joined #commonlisp
jonlevin has joined #commonlisp
\f has joined #commonlisp
copec_ has joined #commonlisp
anticomputer has joined #commonlisp
dino_tutter has joined #commonlisp
edgar-rft has joined #commonlisp
mariari has joined #commonlisp
csos95 has joined #commonlisp
beach has joined #commonlisp
nyx_land has joined #commonlisp
Gleefre has joined #commonlisp
amb007 has joined #commonlisp
cdegroot has joined #commonlisp
phadthai has joined #commonlisp
zups has joined #commonlisp
viaken has joined #commonlisp
cross has quit [Max SendQ exceeded]
Gleefre has quit [Remote host closed the connection]
copec_ is now known as copec
cross has joined #commonlisp
spec has quit [Server closed connection]
spec has joined #commonlisp
sloanr has joined #commonlisp
011AABQ7C is now known as rtoy
ronald has joined #commonlisp
molson has quit [Ping timeout: 240 seconds]
rainthree3 has joined #commonlisp
mingus has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
ec has quit [Ping timeout: 240 seconds]
ec has joined #commonlisp
awkravchuk has joined #commonlisp
rgherdt has quit [Ping timeout: 240 seconds]
rgherdt has joined #commonlisp
Inline has joined #commonlisp
Inline has quit [Remote host closed the connection]
zxcvz has joined #commonlisp
rtypo has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
mgl has joined #commonlisp
akasha has joined #commonlisp
Mandus_ is now known as Mandus
rgherdt has quit [Ping timeout: 250 seconds]
rgherdt has joined #commonlisp
msavoritias has joined #commonlisp
euandreh has quit [Ping timeout: 250 seconds]
euandreh has joined #commonlisp
euandreh has quit [Ping timeout: 250 seconds]
shka has joined #commonlisp
euandreh has joined #commonlisp
habamax has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
attila_lendvai has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 264 seconds]
mingus1 is now known as mingus
euandreh has quit [Ping timeout: 250 seconds]
scymtym has quit [Ping timeout: 246 seconds]
attila_lendvai has quit [Ping timeout: 264 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
awkravchuk has quit [Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
Brucio-61 has joined #commonlisp
rgherdt has quit [Ping timeout: 245 seconds]
molson has joined #commonlisp
scymtym has joined #commonlisp
tertek has quit [Quit: %quit%]
tertek has joined #commonlisp
habamax has joined #commonlisp
rgherdt has joined #commonlisp
pve has joined #commonlisp
easye has quit [Ping timeout: 240 seconds]
morganw has joined #commonlisp
igemnace has joined #commonlisp
mgl has quit [Quit: Client closed]
dim has quit [Server closed connection]
dim has joined #commonlisp
LW has joined #commonlisp
son0p has quit [Ping timeout: 258 seconds]
habamax has quit [Ping timeout: 260 seconds]
akasha has quit [Ping timeout: 250 seconds]
akasha has joined #commonlisp
euandreh has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
ec has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
euandreh has quit [Ping timeout: 250 seconds]
easye has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life has joined #commonlisp
euandreh has joined #commonlisp
karlosz has joined #commonlisp
Gleefre has joined #commonlisp
alcor has joined #commonlisp
rainthree3 has quit [Ping timeout: 264 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 245 seconds]
kevingal has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
mgl has joined #commonlisp
gko` has quit [Server closed connection]
gko` has joined #commonlisp
easye has quit [Ping timeout: 245 seconds]
easye has joined #commonlisp
doyougnu has joined #commonlisp
semz has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
semz has joined #commonlisp
habamax has joined #commonlisp
rgherdt_ is now known as rgherdt
akoana has joined #commonlisp
random-nick has joined #commonlisp
doyougnu has quit [Remote host closed the connection]
rainthree has joined #commonlisp
doyougnu has joined #commonlisp
LW has quit [Quit: WeeChat 3.8]
tyson2 has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
Lycurgus has joined #commonlisp
doyougnu has quit [Quit: ZNC 1.8.2 - https://znc.in]
doyougnu has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
ec has joined #commonlisp
semarie has quit [Ping timeout: 246 seconds]
shka has joined #commonlisp
kevingal has quit [Ping timeout: 264 seconds]
jonatack has quit [Ping timeout: 250 seconds]
prokhor has quit [Remote host closed the connection]
akoana has quit [Quit: leaving]
semarie has joined #commonlisp
doyougnu has quit [Quit: ZNC 1.8.2 - https://znc.in]
jonatack has joined #commonlisp
doyougnu has joined #commonlisp
prokhor has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 264 seconds]
mi6x3m has joined #commonlisp
<mi6x3m> hey, is there a way to bind the 1st, last and optional number of args inbetween?
<mi6x3m> like defun foo (1st <optionals> 2st) ?
<mi6x3m> last *
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
<beach> Er, what?
random-nick has joined #commonlisp
<beach> In an ordinary lambda list, all the required parameters come first then the optionals.
* beach is not sure whether that utterance answers the question.
<pve> mi6x3m: maybe you want to use "&rest rest" in your lambda list, and then access the last element of the "rest" argument
<mi6x3m> yes, that'd be the way
<mi6x3m> i thought there is some... convenience
<mi6x3m> I am reworking my caching macro and wanna have something like
<mi6x3m> (def-cached-indicator get-foo :cache-for 5 :seconds :cache-invalidation-fn reset-foo <forms>)
<mi6x3m> so I wanna process the :cache opts and then splice <forms>
<pve> mi6x3m: how about defining you own with-first-middle-last macro, like (with-first-middle-last (first middle-guys last) all-the-arguments ...)?
<mi6x3m> I could do that yeah
<mi6x3m> is a defun equivalent to assigning a lambda to a defvar?
<beach> No.
<mi6x3m> what would be?
<beach> (setf (fdefinition <name>) (lambda ...))
<beach> and there is no such thing as "a lambda".
<beach> There is a lambda expression and there is an anonymous function.
<mi6x3m> right
<beach> You don't assign the lambda expression with FDEFINITION, you assign a function, possibly, but not necessarily, created using the operator LAMBDA.
<mi6x3m> well for the cache mechanism above I need 2 functions to share state
<beach> Create a closure.
<mi6x3m> so I thought to define them in the same lexical scope capturing some vars
<mi6x3m> yeah
prokhor has quit [Remote host closed the connection]
<beach> (let ((state ...)) (setf (fdefinition <name1>) <function1> (fdefinition <name2> <function2>)))
<mi6x3m> that's the plan
<beach> Er, sorry, that should be...
<beach> the <function1> and <function2> should be lambda expressions.
<Shinmera> You didn't hear this from anyone at all and least of all me, but Charles managed to read a file and print its contents on the Nintendo Switch.
<Shinmera> from lisp!
kevingal has joined #commonlisp
<mi6x3m> I just wanna say thanks to everyone that support me with lisp fu for last weeks :)
<mi6x3m> CL could be quite deep but you friends entangle it
<beach> Common Lisp has relatively simple semantics (compared to most languages), but there are a lot of tools built upon the simple core.
<Shinmera> beach: the compile-file/load-time-value/eval-when semantics are pretty hairy :)
<beach> Nah, it's just a bit hard to understand why they must exist.
<Shinmera> Anyway, I have a question for MOP experts: I have a metaclass that, right now, provides an involved slot-value-using-class method to do the actual value lookup. Most of its logic could be optimised away if it could be inlined, so my question is: how would I go about generating accessor methods?
<hayley> I liked being able to tell someone that, per the standard, a compiler may just write macroexpanded Lisp forms to a file as a FASL (and that SICL isn't far off).
habamax has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.0.92)]
<beach> hayley: Close, yes, provided the literals in the code can be handled by READ.
cage has joined #commonlisp
<beach> Shinmera: They are just instances of STANDARD-ACCESSOR-METHOD.
<beach> You can give your object a method function that does direct access to the slot if you can compute it at compile time.
notzmv has quit [Ping timeout: 240 seconds]
<Shinmera> OK, but, and forgive my ignorance on this, when would I compute this (during finalize-inheritance?) and *how* would I actually hook that up? using (setf find-method) or something?
mi6x3m has quit [Remote host closed the connection]
<Shinmera> It's one thing I've never done, so I don't know the correct way to go about it
mi6x3m has joined #commonlisp
<ixelp> SICL/Code/CLOS/maybe-replace-method.lisp at master · robert-strandh/SICL · GitHub
<beach> Let me look. I think it needs to be replaced when you compute the effective method.
<beach> Because the location can be different in instances of different classes.
<Shinmera> Right
<ixelp> SICL/Code/CLOS/compute-discriminating-function-support.lisp at master · robert-strandh/SICL · GitHub
<beach> Line 254 calls MAYBE-REPLACE-METHOD.
<beach> So yes, when you compute the effective method for a particular sequence of classes of arguments.
<Shinmera> ok, lots of new stuff for me to learn :) thanks for the hints!
<beach> Sure. It is a bit involved, yes.
<rainthree> loke: is maxima-client yours? https://news.ycombinator.com/item?id=24467593 the video links are dead
<ixelp> Of interest may be my project that implements a CLIM-based user interface on top... | Hacker News
mi6x3m has quit [Quit: Leaving]
<beach> rainthree: I think loke's project is called Climaxima.
mi6x3m has joined #commonlisp
<mi6x3m> any shortcut to setf the locations in a list with the values from another list
<mi6x3m> or varargs
<Shinmera> a list can't contain locations
<mi6x3m> (setf (car foo) (cdr foo) nil nil) or something like it?
<Shinmera> what are you actually trying to do?
<beach> clhs replace
<ixelp> CLHS: Function REPLACE
<Shinmera> if you just want to replace the *contents* of the list, then, yeah replace
<mi6x3m> I have a (cons "1" "2"), want to change the values to nil nil
<Shinmera> but if you meant that the list itself is meant to contain places to set, then you can't
<beach> mi6x3m: Look at the link.
<beach> ... or rather what it links to.
<Shinmera> a cons isn't a list and neither REPLACE nor FILL would work with it
<beach> Indeed.
<Shinmera> but if you actually do have a proper list, then FILL and REPLACE would do that
alcor has quit [Remote host closed the connection]
ronald has quit [Ping timeout: 246 seconds]
q3cpma has joined #commonlisp
ronald has joined #commonlisp
<q3cpma> Hello, anyone knows runtime compilation via (compile nil `(lambda () ,my-expr)) sees toplevel defmacros but not surrounding macrolets?
<q3cpma> why*
<Shinmera> it's compiled in a null lexenv.
mht-wtf has quit [Server closed connection]
mht-wtf has joined #commonlisp
<q3cpma> Well, I also thought this had something to do with environments aka the part of CL I don't know anything about
<Shinmera> it makes sense, too
<Shinmera> macrolets are a compile-time thing
<Shinmera> by the time your COMPILE runs, it is not compile-time.
<q3cpma> Yes, but I thought this would apply also to defmacro
ronald has quit [Ping timeout: 246 seconds]
<Shinmera> ?
<q3cpma> Didn't know about this global lexical environment thing
<Shinmera> why would it. they're definitions, not lexical constructs
<q3cpma> In my head, defmacro was expanded at macroexpansion time then "stripped"
<beach> q3cpma: Often, there is no particular reason to call compile explicitly.
<q3cpma> Obviously wrong
ronald has joined #commonlisp
<Shinmera> how would it know when to strip the macro away
<q3cpma> beach: here I'm doing some utility (similar to find and AWK) that takes expressions at runtime
<beach> I see.
<q3cpma> Shinmera: well, with load and compile-file in the picture, it can't know indeed
<Shinmera> eval, too
<q3cpma> beach: But now that you say it, I should probably make it as a CL lib to allow simple compilation
<q3cpma> (of the input expressions)
<q3cpma> Well, I understand this a lot better, thanks a ton people!
<ogamita> q3cpma: you can have various macroexpansion phases embedded into various other times.
<beach> Another possibility is to construct an expression that includes the MACROLET and then compile it.
<q3cpma> beach: That's what I was going for, first
son0p has joined #commonlisp
<ogamita> q3cpma: that said, you can work with the source sexp: (funcall (compile nil (eval (let ((my-expr '(moo 42))) `(macrolet ((moo (x) `(list ,x ,x))) (lambda () ,my-expr)))))) #| --> (42 42) |#
<beach> q3cpma: (compile nil '(lambda () (macrolet ((m (x) `(1+ ,x))) (lambda (y) (m y)))))
<ogamita> q3cpma: but you need EVAL.
<beach> q3cpma: That will return a function that, when called, returns a function of one argument that has the macrolet taken into account.
<q3cpma> Yeah, I had beach's version (after trying (macrolet (lambda)) first
<q3cpma> Will probably do that, don't want to polute the global env
<q3cpma> ogamita: would be slow, no? Guaranteed call to the interpreter or not?
<ogamita> The point here is that COMPILE can only compile lambda expressions or a function. So you either need to wrap your form into a lambda form, or you need to evaluate your form to produce a function (probably interpreted), that compile may compile.
<ogamita> q3cpma: the interpreter doesn't need to work, since it only has to macroexpand the macrolet, and evaluate the lambda form to build an interpreted function.
<ogamita> On the other hand, if eval calls compile, then it compiles twice (the second time, doing nothing since the function is already compiled).
<q3cpma> Ah, I see your point, misread your snippet; but as beach's example shows, it doesn't look necessary unless your macro itself is dynamic, no?
<q3cpma> Nah, even that can be taken care of, unless I'm wrong
<mi6x3m> can anyone spot the error here
<ogamita> q3cpma: anything in the let can be computed at run-time. It's about the same complexity (you could benchmark it on your specific cases). (funcall (funcal (compile nil (lambda () … (lambda …))))) vs. (funcall (compile nil (eval (… `(lambda ,…)))))
<mi6x3m> (defmacro def-indicator (name (&key ((:cache-for (duration units)) nil cache-for-p) (cache-invalidation-fn nil cache-invalidation-fn-p)) &body body)
<mi6x3m> using it with (def-indicator foo :cache-for (5 :seconds) nil) reports :cache-for is not a list
<beach> mi6x3m: Probably that you put the &key inside a list.
<beach> mi6x3m: Your macro lambda list looks strange.
<mi6x3m> I changed it to (defmacro def-modeline-indicator (name &key ((:cache-for (duration units)) nil cache-for-p) (cache-invalidation-fn nil cache-invalidation-fn-p) &body body) but now the "body is misplaced"
<ogamita> (def-indicator foo (:cache-for (5 :seconds)) nil) #| --> (foo 5 :seconds t nil nil (nil)) |#
<ogamita> Yes, you cannot have both &key and &body. more precisely, &body = &rest so you can have it but it will take also the &key.
<ogamita> and the body will need an even number of elements!
<mi6x3m> hmmm I was afraid it's the case
<mi6x3m> but what is the solution
<mi6x3m> design change maybe
<ogamita> (defmacro moo (&body body &key a b &allow-other-keys) `(list ',a ',b ',body)) (moo :a 1 and this is all) #| --> (1 nil (:a 1 and this is all)) |#
<ogamita> Note how the body starts with (:a 1 …)
<ogamita> The first version with (&key was good).
<ogamita> (def-indicator foo (:cache-for (5 :seconds)) (print 'hi)) #| --> (foo 5 :seconds t nil nil ((print 'hi))) |#
<ogamita> Alternatively, you may introduce the body with: :cache-for (5 :seconds) :body ((print 'hi) (do-something)) but it's probably worse to wrap bodies in parentheses than key arguments.
<mi6x3m> sec you're going too fast
<mi6x3m> yeah maybe i'll settle for the kw args wrapped
<ogamita> You may also have just (defmacro def-indicator (name &body options-and-body) …) and parse options-and-body: (if (eql :cache-for (first options-and-body)) (let ((cache-for (progn (pop options-and-body) (pop options-and-body))) (body options-and-body)) …) (let ((cache-for '(5 :seconds)) (body options-and-body)) …))
<ogamita> (def-indicator foo (print 'hi)) (def-indicator bar :cache-for (3 minutes) (print 'hi))
<ogamita> this last option is nice syntax-wise, but you must work more (parse yourself), and it's less integrated into IDE, such as emacs, (it cannot complete the arguments since it doesn't know [:cache-for (duration units)] . body
<ogamita> Sometimes it's possible to instruct the IDE about the syntax of such operators.
<mi6x3m> thanks ogamita, this is a fantastic break down
<mi6x3m> i'll roll with (def-indicator (:cache-for (5 :seconds) :cache-invalidation-fn moo) body)
<mi6x3m> still quite readable
sunarch has quit [Quit: WeeChat 3.8]
pranavats has left #commonlisp [Error from remote client]
<ogamita> mi6x3m: you may also define a macro or macrolet to do it with the body. (defindicator foo (cache-for 5 seconds) (* 4 2)) with https://termbin.com/lbr20
<ogamita>
<ogamita> mi6x3m: ie. you define a DSL with a set of flet and macrolet around the body.
dcb has joined #commonlisp
<mi6x3m> let's not go quite that far
dcb has quit [Ping timeout: 245 seconds]
dcb has joined #commonlisp
<mi6x3m> one more q, how to convert a macro argument to a symbol to be used with fdefnition
<mi6x3m> e.g. the name in def-indicator
<mi6x3m> (fdefinition ,name) reports an erorr
euandreh has quit [Remote host closed the connection]
<mi6x3m> I want to define a global function with (setf (fdefinition .. like beach suggested
<beach> You can also use DEFUN as in (let ((state ...)) (defun ...) (defun ...))
<beach> DEFUN takes into account the lexical environment.
theBlackDragon has quit [Server closed connection]
theBlackDragon has joined #commonlisp
pranavats has joined #commonlisp
euandreh has joined #commonlisp
<mi6x3m> last thing beach, how to specify the name to defun through a symbol?
<mi6x3m> defun (xyz ,symbol-arg) ...
<beach> You can't when DEFUN is in an ordinary position of evaluation. DEFUN does not evaluate its function-name argument. You would have to do (setf fdefinition) then.
<mi6x3m> ok, so 1 usage of defun, 1 fdefiniton, seems to be working actually...
<mi6x3m> (def-indicator foo (:cache-for (5 :seconds) :cache-invalidation-fn 'no-foo) "foo123") epic it works
<mi6x3m> maybe :cache-invalidator would be better because -fn would expect an expression but hey
notzmv has joined #commonlisp
<mi6x3m> changed to :invalidate-by
<phoe> How does ~// behave in face of package deletion/recreation/renaming/renicknaming? Is this specified anywhere?
dmho has quit [Server closed connection]
dmho has joined #commonlisp
mi6x3m has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
<beach> Good question.
<beach> I don't think it is specified, but if I were to implement it, I would use the package name and the symbol name each time FORMAT is called, but in FORMATTER, I might look it up once.
sloanr has quit [Remote host closed the connection]
<phoe> this approach contradicts CLHS Macro FORMATTER which describes the equivalence relation between the two
<phoe> clhs formatter
<ixelp> CLHS: Macro FORMATTER
bjorkintosh has quit [Ping timeout: 240 seconds]
<beach> Yes, I saw that.
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
perrierjouet has quit [Quit: WeeChat 3.8]
perrierjouet has joined #commonlisp
<phoe> so in order for FORMATTER to be consistent with FORMAT, they would both need to use FIND-SYMBOL, so find the symbol at runtime
<beach> True.
mi6x3m has joined #commonlisp
<phoe> ...unless FORMAT is optimized by the compiler into FORMATTER, at which point both can do it at macroexpansion time
<phoe> is the above permitted?
<mi6x3m> Does anyone have a clue why symbolp fails in the assertion here? https://pastebin.com/mTLrkpZw
<ixelp> (defmacro def-indicator (name (&key ((:cache-for (duration units)) nil cache-for - Pastebin.com
tyson2 has quit [Remote host closed the connection]
<phoe> mi6x3m: try :INVALIDATE-BY NO-FOO
<phoe> so, with the unquoted symbol
<beach> Yes, you are passing it (quote ...)
<phoe> the literal 'NO-FOO is a cons, not a symbol
<mi6x3m> what would be a symbol literal?
<mi6x3m> actually (symbolp 'foo) returns T
<mi6x3m> just in the macro body it returns nil
<phoe> FOO is a symbol literal
dino_tutter has quit [Ping timeout: 245 seconds]
<phoe> 'FOO is (QUOTE FOO), so, a list literal
<phoe> the macro has access to unevaluated arguments, hence when you call it with 'FOO you get 'FOO, not FOO, as an argument
<mi6x3m> how do I use 'foo with the macro and still have the assertion work?
<mi6x3m> I want to signify to the user that the thing doesn't already exist and they are naming it
kevingal has quit [Ping timeout: 264 seconds]
<mi6x3m> hence the ' in the notation
<phoe> you have (DEFUN FOO ...), not (DEFUN 'FOO ...)
<phoe> even though the function FOO might not exist
<phoe> same with DEFVAR, DEFCLASS, DEFTYPE, and literally almost every defining macro
shka has quit [Read error: Connection reset by peer]
<phoe> so I'd skip the quote
shka has joined #commonlisp
<phoe> otherwise the user might think that this argument is evaluated and be tempted to do something like (let ((thing 'foo)) (def-indicator ... :invalidate-by thing))
<phoe> which will majestically explode if you do some sort of attempt at manual unquoting or (worse) maybe-unquoting
markb1 has quit [Ping timeout: 246 seconds]
shka has quit [Ping timeout: 246 seconds]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
parjanya has joined #commonlisp
markb1 has joined #commonlisp
<mi6x3m> sounds good to me!
mi6x3m has quit [Remote host closed the connection]
waleee has joined #commonlisp
rainthree3 has joined #commonlisp
<phoe> I still wonder about the ~/ behavior wrt package removal/renaming because it kind of follows the same pattern as when local nicknames change
<phoe> and I'm reviewing Gleefre's draft of a PLN CDR now and attempting to find some prior art
rainthree has quit [Ping timeout: 250 seconds]
<phoe> because if the behavior for ~/ for package deletion/renaming is not specified then it could warrant an issue at https://www.cliki.net/ANSI%20Clarifications%20and%20Errata maybe
<ixelp> CLiki: ANSI Clarifications and Errata
tyson2 has joined #commonlisp
<phoe> e.g. SBCL and CCL differ here
<phoe> maybe the best answer for all of the above is "unspecified"
<rainthree3> any idea if there is an archive somewhere, with the contents from this link (which is now dead) http://article.gmane.org/gmane.comp.mathematics.maxima.general/17602 ?
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
Gleefre has quit [Remote host closed the connection]
<ixelp> Calling Maxima from Lisp (sbcl)
Gleefre has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
pranavats has left #commonlisp [#commonlisp]
parjanya has quit [Ping timeout: 246 seconds]
pranavats has joined #commonlisp
jeosol has joined #commonlisp
<jeosol> Good morning all!!!
<jeosol> Looking to update my SBCL and QL combo given the new QL release (June 19), anyone updated their QL yet? experienced any issues?
<q3cpma> Hi again, anyone wanna explain to me why I need the in-package call in that function (and not the in the let, but at the function's toplevel): https://pastebin.com/evLvHUu7
<ixelp> ;; Run via sbcl --eval '(asdf:load-system "test")' --eval '(pkg:main)' s(defpa - Pastebin.com
<q3cpma> Whoops, I use `sbcl --load test.lisp --eval '(pkg:main)' s` to run the script
grolter[m] has joined #commonlisp
<bike> assuming the asdf system includes just this file
<bike> when you load the asdf system, it uses cl:load or cl:compile-file or whatever, and those rebind *package*
<bike> so the in-package form on line 5 sets the package, but this set is undone as soon as load or compile-file is done
<bike> by the time of --eval '(pkg:main)', you are back in the cl-user package
<bike> when you call main the in-package form on line 8 sets *package* back to PKG, and so the read-from-string interns symbols in that package, etc
<bike> it may be better to just bind *package* in main if you need the package to be something
<q3cpma> Ahhh, that's the read yes
dcb has quit [Ping timeout: 246 seconds]
LW has joined #commonlisp
dcb has joined #commonlisp
<q3cpma> Problem: if I were to pass the argument via main's parameters (so the symbol may actually be interned in any package), how would I go about making it work?
<q3cpma> And I'm still not clear on the problem: why isn't the symbol-macro s working when calling main from cl-user? Is s somehow interned during read/compile?
<bike> well the s in your code is interned in pkg, of course
<bike> then, at runtime, you use read-from-string to get arg, so that's read in whatever *package* is when read-from-string is called
SetoTaisho has joined #commonlisp
<bike> without the in-package on line 8, at the time of the read-from-string, *package* would be whatever it is when (main) is called, and from the command line like you're doing it would be cl-user
<bike> so read-from-string would return cl-user::s, if the command line argument was "s"
<q3cpma> Isn't symbol-macrolet registering lexical symbols?
<bike> symbol-macrolet is basically unrelated here
<bike> the context s appears in in your code does not affect what package it is read in
<bike> reading happens before compilation and evaluation
<bike> your code is read - it ends up as a list (CL:DEFUN PKG::MAIN ... (CL:SYMBOL-MACROLET ((PKG::S
<q3cpma> Yes, but it's the (compile) call that is failing, not the file compilation (I think?)
<q3cpma> Hmmm
<q3cpma> I see
<bike> if you mean the compile is "failing" in that it is not finding the symbol macro, that's because the input to compile includes the value you got from read-from-string
<bike> which, again, without the second in-package, will be CL-USER::S
<bike> which is distinct from PKG::S, so it's an unbound variable
<q3cpma> Yes, I understand the problem now (not the first time that load time interning tripped me), but I'm still pained that this snippet doesn't work as expected =)
<bike> you probably just need to bind *package* around any reads
<q3cpma> Yes, I don't see any other solution to this
<bike> depends on what the larger scale architecture is. you could work directly with strings or uninterned symbols or something
<q3cpma> How would uninterned symbols work? For the symbol macro to work, it needs to refer to the same symbol as arg, no?
tyson2 has quit [Remote host closed the connection]
<bike> dunno. maybe keywords would be better. i don't know what the ultimate goal here is.
Inline has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
<q3cpma> Well, hard to describe and I've already taken lots of your time; thanks a lot!
Gleefre has joined #commonlisp
<bike> happy to be of assistance
rainthree3 has quit [Quit: Leaving]
<q3cpma> I'll probably ask for counsel once my little tool is done (basically, always found find(1) hard to use once, so I made something that acts like AWK; arguments would be '(file print) (dir print walk)' for example)
LW has quit [Quit: WeeChat 3.8]
q3cpma has quit [Quit: nyaa~]
johnjaye has quit [Quit: WeeChat 4.0.0-dev]
n1to has joined #commonlisp
johnjaye has joined #commonlisp
tyson2 has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
pranavats has joined #commonlisp
akoana has joined #commonlisp
morganw has quit [Remote host closed the connection]
lieven has quit [Server closed connection]
lieven has joined #commonlisp
McParen has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
parjanya has joined #commonlisp
tyson2 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<McParen> if I have a list of exported symbols, how can i find out which one is an exported class name? is there a way to check for a class?
<yitzi> clhs find-class
<ixelp> CLHS: Accessor FIND-CLASS
<McParen> find-class seems to signal an error when a class doesnt exist, is there a function that just returns nil if it doesnt find a class?
<Gleefre> There is an optional parameter that controls it
<Gleefre> (find-class 'aaa nil) will return nil
msavoritias has quit [Remote host closed the connection]
<McParen> thanks a lot!
<McParen> (i now see that was an answer i could have found out by myself, but well)
SetoTaisho has quit [Ping timeout: 260 seconds]
avocadoist has quit [Ping timeout: 240 seconds]
<McParen> Gleefre, I just updated sbcl and saw that you contributed to the last few sbcl releases, also thanks for that.
<Gleefre> Heh, I didn't really
<McParen> Well your name is mentioned, so you did _something_.
<Gleefre> I just was able to build it for Android and set up build scripts for that
<McParen> I get quite happy every time another sbcl release comes out, like a monthly birthday.
<Gleefre> :)
shka has joined #commonlisp
scymtym has quit [Ping timeout: 264 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
igemnace has quit [Ping timeout: 245 seconds]
Inline has quit [Ping timeout: 246 seconds]
igemnace has joined #commonlisp
Brucio-61 has joined #commonlisp
attila_lendvai has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
johnjaye has quit [Ping timeout: 246 seconds]
johnjaye has joined #commonlisp
euandreh has quit [Ping timeout: 250 seconds]
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
n1to has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
azimut has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
rtypo has quit [Ping timeout: 264 seconds]
ec has joined #commonlisp
attila_lendvai has quit [Ping timeout: 246 seconds]
Mrtn[m] has quit [Server closed connection]
Mrtn[m] has joined #commonlisp
shka has quit [Ping timeout: 264 seconds]
akoana has quit [Quit: leaving]
kevingal has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
edgarvincent[m] has quit [Server closed connection]
edgarvincent[m] has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
rgherdt has quit [Remote host closed the connection]
azimut has joined #commonlisp
tibfulv has quit [Remote host closed the connection]
tibfulv has joined #commonlisp
dino_tutter has joined #commonlisp
mingus has quit [Ping timeout: 250 seconds]
mgl has quit [Quit: Client closed]
igemnace has quit [Ping timeout: 250 seconds]
surabax[m] has quit [Server closed connection]
surabax[m] has joined #commonlisp
igemnace has joined #commonlisp
nij- has joined #commonlisp
<nij-> Many langs have statements as long as expressions, unlike lisp. I can't think of any benefit of having statements. Did I miss anything? Why do they need statements?
<aeth> syntax
<aeth> it's syntactically awkward to have expressions, especially in something with significant indentation like Python
<nij-> I see! It will be very awkward if python's `def` returns anything that can be passed to the next function call.
<nij-> So they better just ban it (i.e. making it a statement).
Gleefre has quit [Ping timeout: 246 seconds]
<aeth> and most of the time you don't use the return value
<aeth> it's a bit different in Common Lisp because of COND
<aeth> in most languages you'd just set a value in an if/then/else block, but in Common Lisp and Scheme, you use the return value of COND and save a set
<nij-> I see; it also bans people from using nested code.
<nij-> (prevents)
pve has quit [Quit: leaving]
<nij-> I find thata if/then/else/cond/.. returning things to be very helpful though..
<aeth> it doesn't seem obvious to want to use the return value of everything
<aeth> unless you do
<aeth> so you need to copy the right languages and not the wrong ones to see it
dino_tutter has quit [Ping timeout: 246 seconds]
haku has quit [Server closed connection]
haku has joined #commonlisp
<nij-> got it
<aeth> seems to come more from the functional programming side of programming, too
<aeth> because you do avoid some mutation/setting with implicit return values
<aeth> even though CL isn't particularly FP
nij- has quit [Killed (NickServ (GHOST command used by nij_!~jin@2001-b400-e3d0-9ed3-a862-be98-be81-6e82.emome-ip6.hinet.net))]
nij_ has joined #commonlisp
nij_ is now known as nij-
<nij-> This is less likely to be an answer. An FP lang should prevent data to be mutated in the first place.
czy has quit [Remote host closed the connection]
<random-nick> maybe they're a holdover from instruction-based programming like assembly/machine code
<random-nick> where expressions were added to make writing calculations easier into such a paradigm
<random-nick> instead of starting off from expressions like lisp
<aeth> seems like you need a smarter compiler, too? probably nothing by today's standards, of course
<aeth> but you need to be able to see that e.g. this expression's return value is not being used
kevingal has quit [Ping timeout: 264 seconds]
borodust has quit [Ping timeout: 252 seconds]
borodust has joined #commonlisp
mathrick has quit [Ping timeout: 260 seconds]