jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 265 seconds]
hhdave_ is now known as hhdave
mindCrime_ has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
cognemo has quit [Ping timeout: 256 seconds]
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #lisp
nicktick has joined #lisp
hvxgr_ has joined #lisp
dbotton has joined #lisp
hendursaga has quit [Quit: hendursaga]
hendursaga has joined #lisp
hvxgr_ has quit [Ping timeout: 245 seconds]
ljavorsk has quit [Ping timeout: 264 seconds]
Oladon has joined #lisp
elflng has joined #lisp
warweasle has joined #lisp
hvxgr_ has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
bendersteed has quit [Remote host closed the connection]
dbotton has joined #lisp
scymtym_ has joined #lisp
scymtym has quit [Ping timeout: 272 seconds]
scymtym_ has quit [Remote host closed the connection]
scymtym has joined #lisp
long4mud has joined #lisp
scymtym has quit [Ping timeout: 260 seconds]
grobe0ba has quit [Quit: ZNC 1.7.5 - https://znc.in]
grobe0ba has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
<mfiano> Bike: Can you look at my code? I'm running into a problem.
<Bike> ok.
<mfiano> I've no idea why I'm getting that result, even though the result of sort is indeed returning (%A %B %C)
scymtym has joined #lisp
<mfiano> ignore the printv debugging calls
<mfiano> Oh I see, sort of. That's definitely wrong
<mfiano> The method, that is. Hmm
<Bike> i don't see any obvious problem
<mfiano> The problem I see is the (or ... length)
<Bike> i thought you said compute-slots returned what you want?
<mfiano> Hmm, that might not be a problem actually
<mfiano> Yeah
<scymtym> the MAPCAN may involve constant data. that could theoretically lead to problems
<mfiano> The result of sort is (#<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION %A> #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION %B> #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION %C>)
<mfiano> Ah yes
<mfiano> I bet I did it again (modified intenral implementation data structure by use of MAPCAN (is not the first time I did that))
<scymtym> maybe put a PRINT around the macro body to make sure the generated code, including the locations, is fine?
notzmv has quit [Ping timeout: 264 seconds]
<mfiano> scymtym: macro expansion looks like https://gist.github.com/mfiano/fdae8c03f881e07921bb2deb4879a76a
<phoe> this mapcan call mutates SLOTS
<phoe> and SLOTS come from BODY
<phoe> and BODY is an argument to a macro
<phoe> and therefore must not be mutated
<phoe> that's one instance of UB
<phoe> oh wait a second; I got it wrong
<mfiano> Ok, I'll restart and copy that list
<Bike> throwing a copy-list into the mapcan lambda doesn't seem to change anything.
<phoe> it operates on quasiquoted data which is literal
<phoe> or just use a:mappend instead of mapcan
<phoe> it's a drop-in replacement
<Bike> anyway, so obviously the accessor functions here have the wrong slot numbers, right?
<phoe> but what Bike said
<Bike> it's supposed to be that the unordered slots come after the ordered ones?
<mfiano> Yeah, I mean the result of SORT puts C last in the return value of COMPUTE-SLOTS, so I would expect C to be index 2
Inoperable has quit [Ping timeout: 256 seconds]
<Bike> ah, because "order" includes the keyword :ORDER
<Bike> so the positions are one off
<mfiano> Oh lemme see
<phoe> hah
<phoe> nice one!
jackdaniel has quit [Ping timeout: 246 seconds]
<mfiano> Wait, where is the error exactly?
<Bike> L46
<phoe> (position x order)
<Bike> you're doing (position slot-name order)
<mfiano> Oh right
<Bike> order is something like (:ORDER %A %B)
<phoe> s/x/slot-name/
zagura has quit [Ping timeout: 256 seconds]
aindilis has quit [Ping timeout: 245 seconds]
<mfiano> Ok besides that, is there UB going on with modifying literal data?
<Bike> as long as you throw a copy-list in there i think it's ok
<mfiano> Or was that a red herring?
<Bike> i don't think it has anything to do with the issue
<Bike> but UB is still good to avoid
<phoe> what Bike said; it's likely unrelated and likely not an issue, but one should not mutate quasiquoted data
<mfiano> I was asking if there is UB. I'm not sure if destructuring body is creating new lists or reusing literal conses
<Bike> in the code as written there is UB, because mapcan will nconc the lists returned from the function, and those lists are quasiquoted i.e. constant data
<phoe> L42 calls mapcan on `(...) which I'd avoid
<phoe> in the general case `(...) should be treated same as '(...) which is literals
<phoe> s/literals/as literals/
<phoe> just use a:mappend instead of mapcan and you're good to go.
<mfiano> I always forget about that function, and always forget about the destructive nature. It's not often I reach for mapcan, and when I do, too much time has passed since last time. Sigh
<mfiano> Well, thanks for the feedback
<phoe> I have learned that every time I try to use mapcan I want mappend instead
<fiddlerwoaroof> interesting
<mfiano> Especially at compile time
<fiddlerwoaroof> I usually just make sure I have something that forces a new list
<phoe> unless I explicitly make fresh data in the function, at which point mapcan is, surprisingly, the proper function to use
<fiddlerwoaroof> e.g. a copy-list
<phoe> that works too
<fiddlerwoaroof> It's one of the more useful functions because it lets you combine a map + a remove-if-* into one callback
<phoe> but most of the time I do things like (mapcan #'c2mop:generic-function-methods ...) which is a very good prelude for ,sril
<phoe> and after ,sril and some quiet cursing I grab mappend and continue programming
<fiddlerwoaroof> This is really why things like SERIES exist
<phoe> oh wait, it's either ,ril or M-x s-r-i-l
mseddon has joined #lisp
<fiddlerwoaroof> They let you have the efficiency of MAPCAN with the safety of MAPPEND
<mfiano> I must be tired. I am usually questioning myself whenever I use mapcan, because the last time I used it with c2mop, the data it was destructively modifying were SB-MOP internals
<fiddlerwoaroof> Clojure came up with transducers for the same reason
<phoe> mfiano: I remember that time
<phoe> it's strange to remember such things but I remember discussing it with you then
<mfiano> Haha, yeah and if you remember you know it was 2-3 years ago. I don't use this function often
mgr- has joined #lisp
moon-child has joined #lisp
<fiddlerwoaroof> That's really surprising to me, it's the >>= function from Haskell (monad bind), which is one of the most useful functions around
<phoe> yes, but for whatever reason the CL package only includes the mutating variant, which you don't really have in haskell
<phoe> mappend had to be reinvented in alexandria because of that
<phoe> and in many other independent codebases
<mfiano> Again, I usually use mappend or copy-list or copy-tree
<fiddlerwoaroof> Well, haskell does the SERIES optimization automagically for you
crypto has joined #lisp
<mfiano> I was just being forgetful in a cascade of bugs to fix
<fiddlerwoaroof> Most of the intermediate sequences get optimized away by the type system
Sheilong has quit [Quit: Connection closed for inactivity]
deselby has quit [*.net *.split]
theothornhill[m] has quit [*.net *.split]
even4void[m] has quit [*.net *.split]
z0d has quit [*.net *.split]
gingerale has quit [*.net *.split]
mseddon8 has quit [*.net *.split]
shenghi has quit [*.net *.split]
mgr_ has quit [*.net *.split]
gingerale has joined #lisp
shenghi has joined #lisp
even4void[m] has joined #lisp
deselby has joined #lisp
AniqueB has joined #lisp
theothornhill[m] has joined #lisp
gzj has joined #lisp
warweasle has quit [Quit: rcirc on GNU Emacs 26.1]
cognemo has joined #lisp
fitzsim has quit [Ping timeout: 256 seconds]
toorevitimirp has joined #lisp
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
Oladon has quit [Quit: Leaving.]
gitgood has quit [Read error: Connection reset by peer]
dbotton has joined #lisp
renzhi has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 246 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #lisp
pfdietz has quit [Ping timeout: 240 seconds]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
renzhi has joined #lisp
kreyren has quit [Changing host]
kreyren has joined #lisp
kreyren has quit [Changing host]
kreyren has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
semz has quit [Ping timeout: 260 seconds]
rwcom60280385034 has quit [Ping timeout: 264 seconds]
rickygee has joined #lisp
semz has joined #lisp
Gromboli has quit [Read error: Connection reset by peer]
Gromboli has joined #lisp
AniqueB has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
toorevitimirp has quit [Ping timeout: 256 seconds]
mindCrime_ has quit [Ping timeout: 264 seconds]
skapata has quit [Remote host closed the connection]
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
anticrisis has quit [Read error: Connection reset by peer]
dbotton has quit [Quit: Leaving]
gzj has quit [Remote host closed the connection]
Lord_Nightmare has joined #lisp
gzj has joined #lisp
anticrisis has joined #lisp
aartaka has joined #lisp
<beach> Good morning everyone!
Alfr is now known as Guest74436
Guest74436 has quit [Killed (egan.freenode.net (Nickname regained by services))]
Alfr has joined #lisp
<fiddlerwoaroof> morning, beach!
Lycurgus has joined #lisp
epony has quit [Ping timeout: 240 seconds]
epony has joined #lisp
orivej has joined #lisp
aindilis has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 265 seconds]
gzj has quit [Read error: Connection reset by peer]
gzj has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
karlosz has joined #lisp
pfdietz has joined #lisp
pfdietz has quit [Client Quit]
pfdietz has joined #lisp
aartaka_d has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
kaiwulf has quit [Ping timeout: 276 seconds]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
Oladon has joined #lisp
pfdietz has quit [Quit: Connection closed]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
narimiran has joined #lisp
fengshaun_ has quit [Quit: bibi!]
fengshaun has joined #lisp
matryoshka` has joined #lisp
matryoshka has quit [Ping timeout: 264 seconds]
mmohammadi9812 has quit [Quit: Quit]
Bike has quit [Quit: sleepin]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
neuralisp has joined #lisp
jackdaniel has joined #lisp
varjag has joined #lisp
fitzsim has joined #lisp
shka_ has joined #lisp
gzj has quit [Remote host closed the connection]
ukari has joined #lisp
varjag has quit [Ping timeout: 245 seconds]
karlosz has quit [Quit: karlosz]
johannes has joined #lisp
Lycurgus has quit [Quit: Exeunt]
iskander has quit [Quit: bye]
sauvin has joined #lisp
iskander has joined #lisp
gaqwas has joined #lisp
gaqwas has joined #lisp
waleee-cl has quit [Quit: Connection closed for inactivity]
bitmapper has quit [Quit: Connection closed for inactivity]
neuralisp has quit [Read error: Connection reset by peer]
andrei-n has joined #lisp
contrapunctus has quit [Ping timeout: 265 seconds]
pranavats has quit [Ping timeout: 272 seconds]
neuralisp has joined #lisp
orivej has joined #lisp
karlosz has joined #lisp
Oladon has quit [Quit: Leaving.]
frost-lab has joined #lisp
kam1 has quit [Read error: Connection reset by peer]
karlosz has quit [Quit: karlosz]
luni has joined #lisp
crypto is now known as z0d
kevingal has joined #lisp
kevingal_ has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
random-nick has joined #lisp
varjag has joined #lisp
surabax has joined #lisp
theothornhill has joined #lisp
frost-lab3 has joined #lisp
frost-lab has quit [Ping timeout: 276 seconds]
luni has quit [Quit: Connection closed]
orivej has joined #lisp
sauvin is now known as Lemniscate
karlosz has joined #lisp
matryoshka` has quit [Ping timeout: 272 seconds]
matryoshka has joined #lisp
anticrisis has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 246 seconds]
karlosz has quit [Quit: karlosz]
theothornhill has quit [Remote host closed the connection]
hiroaki has joined #lisp
andrei-n has quit [Quit: Leaving]
Cesdo has quit [Read error: No route to host]
hiroaki has quit [Ping timeout: 260 seconds]
neuralisp has quit [Quit: neuralisp]
ljavorsk has joined #lisp
nicktick has quit [Ping timeout: 245 seconds]
aartaka has quit [Read error: Connection reset by peer]
nicktick has joined #lisp
yonkunas has quit [Quit: Connection closed for inactivity]
frost-lab3 has quit [Quit: Connection closed]
frost-lab has joined #lisp
pve has joined #lisp
madnificent_ is now known as madnificent
nicktick has quit [Ping timeout: 264 seconds]
rgherdt has joined #lisp
hendursa1 has joined #lisp
Demosthe1ex has joined #lisp
hiroaki has joined #lisp
aggin has joined #lisp
hendursaga has quit [Ping timeout: 268 seconds]
akoana has joined #lisp
Demosthenex has quit [Ping timeout: 260 seconds]
aartaka has joined #lisp
frost-lab has quit [Ping timeout: 260 seconds]
frost-lab has joined #lisp
zaquest has quit [Quit: Leaving]
attila_lendvai has joined #lisp
zaquest has joined #lisp
aggin has quit [Quit: WeeChat 3.0.1]
ptrkriz has joined #lisp
villanella has joined #lisp
heisig has joined #lisp
gpiero_ has joined #lisp
ukari has quit [Remote host closed the connection]
gpiero_ has quit [Client Quit]
ukari has joined #lisp
gpiero_ has joined #lisp
gpiero_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
Bourne has joined #lisp
jeosol has quit [Quit: Connection closed]
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 246 seconds]
Feldman has joined #lisp
Feldman has quit [Client Quit]
jonatack has joined #lisp
<splittist> Those following along at home will be relieved that my 120 line buggy function is now a 12 line working function
<phoe> :O
<phoe> I want to see the evolution
<phoe> really
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #lisp
orivej has joined #lisp
<edgar-rft> you just simply have deleted all the bugs? :-)
infra_red[m] has quit [Quit: Bridge terminating on SIGTERM]
sepanko_ has quit [Quit: Bridge terminating on SIGTERM]
susam has quit [Quit: Bridge terminating on SIGTERM]
arichiardi[m] has quit [Quit: Bridge terminating on SIGTERM]
ey[m] has quit [Quit: Bridge terminating on SIGTERM]
loke[m] has quit [Quit: Bridge terminating on SIGTERM]
etimmons has quit [Quit: Bridge terminating on SIGTERM]
equwal has quit [Quit: Bridge terminating on SIGTERM]
katco has quit [Quit: Bridge terminating on SIGTERM]
quanta[m] has quit [Quit: Bridge terminating on SIGTERM]
dmiles[m] has quit [Quit: Bridge terminating on SIGTERM]
ThaEwat has quit [Quit: Bridge terminating on SIGTERM]
kreyren has quit [Quit: Bridge terminating on SIGTERM]
theothornhill[m] has quit [Quit: Bridge terminating on SIGTERM]
ey[m]1 has quit [Quit: Bridge terminating on SIGTERM]
Gnuxie[m] has quit [Quit: Bridge terminating on SIGTERM]
cloudy[m] has quit [Quit: Bridge terminating on SIGTERM]
ms[m] has quit [Quit: Bridge terminating on SIGTERM]
harlchen[m] has quit [Quit: Bridge terminating on SIGTERM]
even4void[m] has quit [Quit: Bridge terminating on SIGTERM]
posthuman_egrego has quit [Quit: Bridge terminating on SIGTERM]
MrtnDk[m] has quit [Quit: Bridge terminating on SIGTERM]
arcontethegreat[ has quit [Quit: Bridge terminating on SIGTERM]
deselby has quit [Quit: Bridge terminating on SIGTERM]
dieggsy has quit [Quit: Bridge terminating on SIGTERM]
gpiero has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
orivej has quit [Ping timeout: 246 seconds]
posthuman_egrego has joined #lisp
rgherdt has quit [Quit: Leaving]
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #lisp
xlei has quit [Quit: ZNC - https://znc.in]
vegansbane6963 has quit [Quit: The Lounge - https://thelounge.chat]
jeosol has joined #lisp
akoana has quit [Quit: leaving]
arichiardi[m] has joined #lisp
even4void[m] has joined #lisp
kreyren has joined #lisp
katco has joined #lisp
Gnuxie[m] has joined #lisp
etimmons has joined #lisp
dieggsy has joined #lisp
susam has joined #lisp
arcontethegreat[ has joined #lisp
ThaEwat has joined #lisp
loke[m] has joined #lisp
infra_red[m] has joined #lisp
MrtnDk[m] has joined #lisp
quanta[m] has joined #lisp
deselby has joined #lisp
ms[m] has joined #lisp
dmiles[m] has joined #lisp
sepanko_ has joined #lisp
equwal has joined #lisp
cloudy[m] has joined #lisp
theothornhill[m] has joined #lisp
ey[m] has joined #lisp
harlchen[m] has joined #lisp
ey[m]1 has joined #lisp
xlei has joined #lisp
<splittist> edgar-rft: something like that (: A bit of refactoring. And a change of algorithm.
devon has joined #lisp
pranavats has joined #lisp
Feldman has joined #lisp
xvzf has joined #lisp
vegansbane6963 has joined #lisp
<flip214> and a different programming language. different OS. different architecture. and, last but not least, a different universe without Murphy's Law.
jeosol has quit [Quit: Connection closed]
jeosol has joined #lisp
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #lisp
gitgood has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
xvzf has quit [Quit: Connection closed]
amb007 has joined #lisp
attila_lendvai has quit [Ping timeout: 276 seconds]
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
<splittist> Here's a sketch of the before and after https://dpaste.com/89DUP9YGN
skapata has joined #lisp
rozenglass has quit [Ping timeout: 256 seconds]
frost-lab has quit [Quit: Connection closed]
luni has joined #lisp
gitgood has quit [Read error: Connection reset by peer]
gitgood has joined #lisp
andrei-n has joined #lisp
aartaka has joined #lisp
contrapunctus has joined #lisp
aartaka_d has quit [Ping timeout: 264 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
ptrkriz has quit [Quit: Lost terminal]
gxt has quit [Ping timeout: 268 seconds]
madage has quit [Ping timeout: 268 seconds]
nk_ has joined #lisp
nk_ has left #lisp [#lisp]
<jackdaniel> splittist: the version "before" looks super-smart! ;)
<jackdaniel> the "after" looks like a plain code. hence: use the "before" to show off ^_^
warweasle has joined #lisp
andrei-n has quit [Read error: Connection reset by peer]
andrei-n has joined #lisp
<splittist> jackdaniel: noted (:
villanella has quit [Ping timeout: 256 seconds]
long4mud has quit [Quit: WeeChat 3.0.1]
Bike has joined #lisp
rickygee has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
Demosthe1ex is now known as Demosthenex
waleee-cl has joined #lisp
gxt has joined #lisp
notzmv has joined #lisp
mjl has quit []
mjl has joined #lisp
villanella has joined #lisp
splittist has quit []
splittist has joined #lisp
pfdietz has joined #lisp
rickygee has joined #lisp
yonkunas has joined #lisp
pfdietz has left #lisp [#lisp]
yitzi has joined #lisp
pfdietz has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
notzmv has quit [Ping timeout: 272 seconds]
madage has joined #lisp
villanella has quit [Ping timeout: 264 seconds]
ffwacom has quit []
kaiwulf has joined #lisp
ffwacom has joined #lisp
nk_ has joined #lisp
nk_ has quit [Client Quit]
deltab has quit [Ping timeout: 256 seconds]
_jrjsmrtn has quit [Ping timeout: 245 seconds]
__jrjsmrtn__ has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
rickygee has quit [Ping timeout: 264 seconds]
jonatack has joined #lisp
Feldman has quit [Read error: Connection reset by peer]
deltab has joined #lisp
nicktick has joined #lisp
wsinatra has joined #lisp
Lycurgus has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
theothornhill has joined #lisp
theothornhill has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
terpri_ has quit [Remote host closed the connection]
terpri_ has joined #lisp
aartaka has quit [Ping timeout: 272 seconds]
sjl has joined #lisp
gitgood has quit [Read error: Connection reset by peer]
gitgood has joined #lisp
orivej_ has quit [Ping timeout: 264 seconds]
Lycurgus has quit [Quit: Exeunt]
johannes has quit [Ping timeout: 264 seconds]
aartaka_d has quit [Read error: Connection reset by peer]
rickygee has joined #lisp
hjudt has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
posthuman_egrego has quit [Quit: Idle for 30+ days]
gpiero has joined #lisp
gpiero has quit [Client Quit]
luni has quit [Quit: Connection closed]
Bourne has quit [Ping timeout: 264 seconds]
notzmv has joined #lisp
jonatack has quit [Ping timeout: 246 seconds]
jonatack has joined #lisp
villanella has joined #lisp
bitmapper has joined #lisp
gitgoood has joined #lisp
gitgood has quit [Read error: Connection reset by peer]
kslt1 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
neuralisp has joined #lisp
sxmx has quit [Quit: WeeChat 3.0.1]
neuralisp has quit [Read error: Connection reset by peer]
testnick88 has quit [Read error: Connection reset by peer]
testnick88 has joined #lisp
neuralisp has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rickygee has quit [Ping timeout: 264 seconds]
neuralisp has quit [Ping timeout: 245 seconds]
Demosthenex has quit [Ping timeout: 245 seconds]
Demosthenex has joined #lisp
sxmx has joined #lisp
rickygee has joined #lisp
ficl has joined #lisp
rickygee has quit [Ping timeout: 260 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 26.3)]
<Josh_2> Good afternoon everyoen
<Josh_2> everyone :P
<beach> Hello Josh_2.
gitgoood has quit [Read error: Connection reset by peer]
pfdietz has quit [Quit: Connection closed]
ukari has quit [Remote host closed the connection]
<Fade> anybody here affected by the OVH catastrophe in Strasbourg?
ukari has joined #lisp
<mfiano> Bike: If I want to prevent setting the ORDER of subclasses of classes using my metaclass, is it the right approach to walk the CPL and extract the order from superclasses with the same metaclass, or is there anything more convenient to help in this regard?
CrazyPython has joined #lisp
<beach> Fade: Yes, jackdaniel.
<edgar-rft> In contrast to Paris only the data center burned down but the cathedral is still standing.
rippa has joined #lisp
varjagg has joined #lisp
Lycurgus has joined #lisp
NULLean has joined #lisp
amerigo has joined #lisp
casual_friday_ has quit [Quit: %bye%]
jeosol has quit [Quit: Connection closed]
casual_friday has joined #lisp
edgar-rft has quit [Quit: Leaving]
jeosol has joined #lisp
devon has quit [Read error: Connection reset by peer]
pfdietz has joined #lisp
<jackdaniel> Fade: right, my server is down. luckily I don't host my own mail for a few months already
ljavorsk has joined #lisp
cage_ has joined #lisp
renzhi has quit [Ping timeout: 260 seconds]
devon has joined #lisp
Lycurgus has quit [Quit: Exeunt]
rumbler31 has quit [Remote host closed the connection]
iskander- has joined #lisp
rumbler31 has joined #lisp
iskander has quit [Ping timeout: 272 seconds]
asarch has joined #lisp
karlosz has joined #lisp
jonatack has quit [Quit: jonatack]
jonatack has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
asarch has quit [Quit: Leaving]
Oladon has joined #lisp
gpiero has joined #lisp
iskander- has quit [Quit: bye]
varjagg is now known as varjag
HiRE has quit [Ping timeout: 260 seconds]
HiRE has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<Bike> mfiano: i thought all subclasses were defined via a macro you export?
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
<mfiano> Bike: Yes. The usage of the macro is (define-ordered-class foo (superclasses) slots (:order direct-slot-1 ... direct-slot-N)), however, if foo is a subclass of another ordered class, I want to prevent specifying an ordering of the superclass slots in exactly the same order as they appear in the superclass.
amb007 has quit [Read error: Connection reset by peer]
terpri_ has quit [Remote host closed the connection]
<Bike> why don't you just export a macro that doesn't allow setting the order
amb007 has joined #lisp
terpri_ has joined #lisp
sauvin_ has joined #lisp
<mfiano> I wasn't able to work that out for the manner of use I need
jonatack has quit [Read error: Connection reset by peer]
<Bike> huh? just do (defmacro exported-definer (name superclasses slots) `(define-ordered-class ,name ,superclasses ,slots)). bam, no order specified
<mfiano> If bar is a subclass of foo, and both are ordered-class's, yet both want to order their own direct slots without respecifying the parent ordering in the subclass, that is my problem
Lemniscate has quit [Read error: Connection reset by peer]
jonatack has joined #lisp
<mfiano> ie, both macros have disjoint orderings
<Bike> are these both definitions you're doing, not the user?
wsinatra has quit [Read error: Connection reset by peer]
wsinatra has joined #lisp
<mfiano> no, the superclass would be mine, and the subclass would be the user. I want the user to be able to order their own slots that come after mine. But that's not to say the user might also want another level of subclasses to do similar
notzmv has quit [Ping timeout: 265 seconds]
sauvin_ is now known as Sauvin
<Bike> well, i guess if you want to export that, and the user has access to your slot names, you could put a method on validate-superclass to reject if the orders are incompatible
<mfiano> They would not have access to my slot names. The parent class would be an implementation detail
save-lisp-or-die has joined #lisp
<Bike> in that case i suppose you need to make the slot orderings inheritable. similar to the slots themselves, each class could have a "direct" slot order that was specified for it, and then an "effective" order composed from its direct order and its superclasses' direct orders
<mfiano> That makes sense, I'll think about that some more, thanks.
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
jonatack has quit [Quit: jonatack]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
karlosz has quit [Quit: karlosz]
epony has quit [Ping timeout: 240 seconds]
anticrisis has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
wsinatra has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
wsinatra_ has joined #lisp
hiroaki has quit [Ping timeout: 260 seconds]
amb007 has joined #lisp
Oladon has quit [Quit: Leaving.]
wsinatra_ has quit [Ping timeout: 256 seconds]
sjl has quit [Quit: WeeChat 2.3-dev]
amb007 has quit [Read error: Connection reset by peer]
casual_friday has quit [Excess Flood]
casual_friday has joined #lisp
amb007 has joined #lisp
hiroaki has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
<mfiano> Well I got the direct-order and effective-order computed, but I'm wondering how to actually use the effective-order to generate the fast accessor functions in the expansion of the macro, since it's stored in the class that is not yet realized.
<mfiano> Needs more thought.
jonatack has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
heisig has quit [Quit: Leaving]
wsinatra has joined #lisp
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
<mfiano> Only way I know how to do it is to finalize the classes, but then I couldn't forward-reference.
rixard has joined #lisp
attila_lendvai_ has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
_Ark_ has joined #lisp
villanella1 has joined #lisp
amb007 has joined #lisp
CrazyPyt_ has joined #lisp
hineios1 has joined #lisp
IPmonger_ has joined #lisp
epony has joined #lisp
notzmv has joined #lisp
madand_ has joined #lisp
copec_ has joined #lisp
wigust- has joined #lisp
idxu_ has joined #lisp
Lord_of_Life_ has joined #lisp
rumbler31 has quit [Remote host closed the connection]
amb007 has quit [Read error: Connection reset by peer]
gpiero_ has joined #lisp
rumbler31 has joined #lisp
amb007 has joined #lisp
<mfiano> Bike: Do you have any suggestions? I don't have the CPL until finalization, so I can't generate the accessors in the macro without finalization currently, which makes it a bit less usable.
Lord_Nightmare2 has joined #lisp
hvxgr__ has joined #lisp
pacon_ has joined #lisp
Xach_ has joined #lisp
crypto has joined #lisp
Tordek_ has joined #lisp
<mfiano> Currently the effective order is computed and written to the class in compute-slots
<Bike> i guess you need to save the order information in the environment at compile time
amb007 has quit [Read error: Connection reset by peer]
<Bike> which is doable, if exotic. maybe you should just use defstruct instead of bothering with all of this
amb007 has joined #lisp
<mfiano> Yeah that is a little exotic, and I am rewriting a complex system that is using defstruct
amb007 has quit [Read error: Connection reset by peer]
flip214_ has joined #lisp
save-lisp-or-die has quit [*.net *.split]
gpiero has quit [*.net *.split]
CrazyPython has quit [*.net *.split]
villanella has quit [*.net *.split]
attila_lendvai has quit [*.net *.split]
vegansbane6963 has quit [*.net *.split]
Lord_Nightmare has quit [*.net *.split]
Lord_of_Life has quit [*.net *.split]
z0d has quit [*.net *.split]
hvxgr_ has quit [*.net *.split]
vaporatorius has quit [*.net *.split]
flazh has quit [*.net *.split]
copec has quit [*.net *.split]
idxu has quit [*.net *.split]
hineios has quit [*.net *.split]
rixard_ has quit [*.net *.split]
Xach has quit [*.net *.split]
madand has quit [*.net *.split]
froggey has quit [*.net *.split]
ark has quit [*.net *.split]
IPmonger has quit [*.net *.split]
amk has quit [*.net *.split]
Tordek has quit [*.net *.split]
pacon has quit [*.net *.split]
mathrick has quit [*.net *.split]
flip214 has quit [*.net *.split]
wigust has quit [*.net *.split]
Lord_of_Life_ is now known as Lord_of_Life
copec_ is now known as copec
idxu_ is now known as idxu
hineios1 is now known as hineios
Lord_Nightmare2 is now known as Lord_Nightmare
<mfiano> For user-exposed API defstruct won't do with a live-recompilable game engine.
<Bike> if it's recompilable you are going to hit more problems
amk has joined #lisp
<mfiano> A friend of mine is also interested in experiemnting with s-i-a for his game engine
<Bike> say you redefine a superclass to have more ordered slots. suddenly, all subclass accessors are using the wrong positions
<mfiano> Well the superclass is never going to change
<Bike> really? really really? you said users can define these ordered classes.
notzmv has quit [Ping timeout: 264 seconds]
amb007 has joined #lisp
vegansbane6963 has joined #lisp
kevingal has quit [Remote host closed the connection]
kevingal_ has quit [Remote host closed the connection]
save-lisp-or-die has joined #lisp
<Bike> and if the classes really will never change, why not just ues defstruct? you're already abandoning recompilation of them in particular
<mfiano> THis is so the engine internals always has fast access to the ordered slots of the private superclass. It is the user's responsibility to consider the static nature of their own code
amb007 has quit [Read error: Connection reset by peer]
crypto is now known as z0d
amb007 has joined #lisp
froggey has joined #lisp
<mfiano> The engine-internal superclass of user-defined classes via a macro will not change, and the system depends on the MOP in other areas, so CLOS is needed
<Bike> implementations with mop usually let you use it with structure classes to some extent
mathrick has joined #lisp
<Bike> but if you want to keep doing this, you are going to have to put information in the environment, like defstruct does
vaporatorius has joined #lisp
vaporatorius has joined #lisp
<Bike> you can hack it in with define-symbol-macro
flazh has joined #lisp
<mfiano> You're right. For this particular macro it is fairly uncommon for users to want any inheritance apart from the implementation detail engine class. It is probably best to not expose the ability for user slot orderings.
luni has joined #lisp
yitzi has quit [Quit: yitzi]
mindCrime_ has joined #lisp
matryoshka has quit [Quit: ZNC 1.8.2 - https://znc.in]
matryoshka has joined #lisp
ficl has quit [Ping timeout: 260 seconds]
rumbler31 has quit [Remote host closed the connection]
eschulte has joined #lisp
zupss has quit []
dbotton has joined #lisp
Xach_ has quit [Changing host]
Xach_ has joined #lisp
kslt1 has quit [Remote host closed the connection]
karlosz has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<Josh_2> mfiano: are you rewriting your game engine?
<mfiano> Haha, which one? I am thinking about a redesign, of one of them, as countless games have got shutdown due to performance after several months of development over the last few years, and I don't have enough desire to use any other language.
gpiero_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
andrei-n has quit [Quit: Leaving]
gpiero has joined #lisp
supercoven_ has quit [Ping timeout: 265 seconds]
aartaka has joined #lisp
amerigo has quit [Quit: Connection closed for inactivity]
vhost- has quit [Ping timeout: 272 seconds]
shka_ has quit [Ping timeout: 264 seconds]
vhost- has joined #lisp
narimiran has quit [Ping timeout: 246 seconds]
theothornhill has joined #lisp
<Josh_2> You wrote a blog post about a game engine and running into performance issues, I just assumed you were rewriting that
testnick88 has quit [Quit: Leaving]
<mfiano> Still in the design process, and probably will be for some months, so not much writing (code).
aartaka has quit [Read error: Connection reset by peer]
aartaka_d has joined #lisp
aartaka has joined #lisp
matryoshka has quit [Quit: ZNC 1.8.2 - https://znc.in]
ljavorsk has quit [Ping timeout: 276 seconds]
<Josh_2> oh right, so what are you working on now?
matryoshka has joined #lisp
wsinatra_ has joined #lisp
aartaka_d has quit [Ping timeout: 264 seconds]
wsinatra has quit [Read error: Connection reset by peer]
recalloc has joined #lisp
<mfiano> The above? Just exploring some pieces to get an idea for my design document.
aartaka has quit [Ping timeout: 264 seconds]
cage_ has quit [Quit: Leaving]
warweasle has quit [Quit: later doods.]
<Josh_2> Oh I see
wsinatra_ has quit [Ping timeout: 256 seconds]
<Josh_2> very cool :)
jonatack_ has joined #lisp
mindCrime_ has quit [Ping timeout: 264 seconds]
jonatack_ has quit [Client Quit]
jonatack_ has joined #lisp
jonatack has quit [Ping timeout: 264 seconds]
notzmv has joined #lisp
villanella1 has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
rumbler31 has quit [Remote host closed the connection]
bendersteed has joined #lisp
rumbler31 has joined #lisp
surabax has quit [Quit: Leaving]
rumbler31 has quit [Remote host closed the connection]
dbotton has quit [Quit: This computer has gone to sleep]
rumbler31 has joined #lisp
jonatack_ has quit [Quit: jonatack_]
jonatack has joined #lisp
Inline has joined #lisp
dbotton has joined #lisp
ft has quit [Ping timeout: 265 seconds]
dbotton has quit [Quit: Leaving]
<eschulte> Can anyone point me to example code passing strings, ideally UTF-8, between C and ECL?  I've compiled a common-lisp system to a .so w/ECL but I'm having trouble reliably using it from C.
theothornhill has quit [Ping timeout: 264 seconds]
gitgood has joined #lisp
random-nick has quit [Ping timeout: 264 seconds]
curtosis has joined #lisp
curtosis is now known as curtosis[away]
<eschulte> I'd like to ask on the ecl-devel mailing list, but I'm having trouble subscribing
<phoe> there's also #ecl that could possibly help you with both issues
<phoe> which is strings and mailing list
gaqwas has quit [Ping timeout: 256 seconds]
Oladon has joined #lisp
pve has quit [Quit: leaving]
ft has joined #lisp
<eschulte> ah, thanks, I should have thought of that
contrapunctus has left #lisp ["Disconnected: closed"]
nicktick has quit [Ping timeout: 260 seconds]
contrapunctus has joined #lisp
bendersteed has quit [Ping timeout: 246 seconds]
gitgoood has joined #lisp
gitgood has quit [Read error: Connection reset by peer]
mgsk has quit []
mgsk has joined #lisp
curtosis[away] has quit [Quit: My Mac Mini has gone to sleep. ZZZzzz…]
varjag has quit [Ping timeout: 260 seconds]
luni has quit [Quit: Connection closed]
charles` has quit [Ping timeout: 264 seconds]
mindCrime_ has joined #lisp
hjudt has quit [Ping timeout: 264 seconds]
luckless has joined #lisp
luckless is now known as azimut
Oladon has quit [Quit: Leaving.]
galex-713 has joined #lisp
eschulte has quit [Quit: Ping timeout (120 seconds)]
attila_lendvai_ has quit [Ping timeout: 260 seconds]