phlim has quit [Remote host closed the connection]
ebrasca has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
iAmDecim has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
Oladon has joined #lisp
SGASAU has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 258 seconds]
leo_song has quit [Ping timeout: 258 seconds]
jfrancis has joined #lisp
buffergn0me has quit [Ping timeout: 240 seconds]
jfrancis_ has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
karlosz has quit [Quit: karlosz]
lassy has quit [Quit: Leaving]
smasta has quit [Ping timeout: 265 seconds]
Bourne has quit [Ping timeout: 265 seconds]
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
``Erik_ has joined #lisp
leo_song has joined #lisp
``Erik has quit [Ping timeout: 240 seconds]
monokrom has quit [Remote host closed the connection]
Jeanne-Kamikaze has joined #lisp
gko has joined #lisp
efm has joined #lisp
Oladon has quit [Quit: Leaving.]
smasta has joined #lisp
smasta has quit [Ping timeout: 252 seconds]
bitmapper has quit [Ping timeout: 264 seconds]
buffergn0me has joined #lisp
Oladon has joined #lisp
ebzzry has joined #lisp
mrrevolt has joined #lisp
ebzzry_ has joined #lisp
ebzzry has quit [Remote host closed the connection]
ahungry has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
karlosz has joined #lisp
EvW1 has quit [Ping timeout: 240 seconds]
muyinliu has joined #lisp
muyinliu has quit [Client Quit]
ebzzry_ has quit [Read error: Connection reset by peer]
ebzzry_ has joined #lisp
_whitelogger has joined #lisp
cylb has quit [Ping timeout: 264 seconds]
ebzzry_ has left #lisp ["WeeChat 2.3"]
iAmDecim has joined #lisp
smasta has joined #lisp
smasta has quit [Ping timeout: 246 seconds]
paul0 has joined #lisp
dddddd has quit [Ping timeout: 258 seconds]
Inline has quit [Ping timeout: 272 seconds]
akoana has joined #lisp
ayuce has quit [Remote host closed the connection]
shukryzablah has quit [Quit: ERC (IRC client for Emacs 27.0.90)]
hiroaki has quit [Ping timeout: 264 seconds]
buffergn0me has quit [Ping timeout: 256 seconds]
EvW has joined #lisp
<beach>
Good morning everyone!
cylb has joined #lisp
cylb has quit [Ping timeout: 256 seconds]
<fe[nl]ix>
good mornning beach :)
Bike has quit [Quit: Lost terminal]
pilne has quit [Quit: East bound and down, loaded up and truckin']
Lycurgus has joined #lisp
<beach>
Hello fe[nl]ix. Where are you these days?
<fe[nl]ix>
in Montreal
<fe[nl]ix>
moved there a year ago
<beach>
Right. I was wondering about right now. But maybe you guys are confined as well?
<fe[nl]ix>
yes, it started a month ago
<beach>
Wow.
<fe[nl]ix>
things are fine, Quebec seems well managed
<beach>
Yeah, I like it very much myself.
<fe[nl]ix>
and I'm not complaining about being able to work quietly
<beach>
Can't agree more.
<fe[nl]ix>
how's Bordeaux ? we still have snow here :D
<beach>
Oh! We didn't get any this year.
<beach>
Anyway, aside from "distractions" such as ELS and Didier Verna's "habilitation", I am working hard to get a first executable of SICL going. I have some time left because I don't want to rush into wrong design decisions, and there is stuff that must be improved first.
<beach>
Progress is slow, but steady.
EvW has quit [Ping timeout: 256 seconds]
Kundry_Wag has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
mrrevolt has quit [Quit: Connection closed for inactivity]
<fe[nl]ix>
that's wonderful
<fe[nl]ix>
are you aiming to present it next year ?
shukryzablah has joined #lisp
<beach>
I haven't given it any thought. But that would be good, I guess.
smasta has quit [Ping timeout: 272 seconds]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
Jeanne-Kamikaze has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
Jeanne-Kamikaze has joined #lisp
cylb has joined #lisp
karlosz has quit [Quit: karlosz]
vlatkoB has joined #lisp
karlosz has joined #lisp
cylb has quit [Ping timeout: 258 seconds]
Kundry_Wag has joined #lisp
shka_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
shka_ has quit [Read error: Connection reset by peer]
shka_ has joined #lisp
iAmDecim has quit [Ping timeout: 258 seconds]
smasta has quit [Ping timeout: 246 seconds]
Oladon has quit [Quit: Leaving.]
retropikzel has joined #lisp
Guesr12345 has joined #lisp
shifty has joined #lisp
narimiran has joined #lisp
Guesr12345 has quit [Ping timeout: 240 seconds]
v88m has joined #lisp
v88m has quit [Remote host closed the connection]
twelvemonkeys has quit [Ping timeout: 265 seconds]
twelvemonkeys has joined #lisp
rtoy has joined #lisp
rtoy has quit [Client Quit]
ahungry has quit [Remote host closed the connection]
sauvin has joined #lisp
rtoy has joined #lisp
smasta has joined #lisp
Bourne has joined #lisp
smasta has quit [Ping timeout: 246 seconds]
Intensity has quit [Read error: Connection reset by peer]
karlosz has quit [Remote host closed the connection]
twelvemonkeys has quit [Ping timeout: 256 seconds]
Intensity has joined #lisp
EvW has joined #lisp
twelvemonkeys has joined #lisp
gravicappa has joined #lisp
_whitelogger has joined #lisp
JohnMS_WORK has joined #lisp
kimq has quit [Ping timeout: 258 seconds]
EvW has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
revtintin has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
torbo has quit [Remote host closed the connection]
shangul has joined #lisp
_paul0 has joined #lisp
smasta has joined #lisp
paul0 has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
smasta has quit [Ping timeout: 240 seconds]
gxt_ has quit [Remote host closed the connection]
gxt_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 265 seconds]
rixard has quit [Remote host closed the connection]
<no-defun-allowed>
This is #lisp, so you will most likely have people want to write Common Lisp.
<no-defun-allowed>
(And most people, upon receiving magical teletypes that can write lowercase letters, write the name of the language as Lisp, title-cased.)
<beach>
no-defun-allowed: Who are you talking to?
<no-defun-allowed>
Crikey! I'm talking to Davd who is participating from Matrix and they also do not get messages sent to Freenode somehow.
<beach>
Indeed.
<no-defun-allowed>
They wrote: "Hello lispers! I want to address a question for all French people using LISP: Who wants to participate to the next BattleDev (https://battledev.blogdumoderateur.com/) using LISP and which LISP would you like to use? For that, I created a small poll, so that we can gather answers: https://linkto.run/p/OMQFP7M5. Please answer the poll 🙂 The BattleDev is a French competition for programming algorithms and
<no-defun-allowed>
takes two hours, it is challenging and fun."
<beach>
Thanks.
<beach>
David might reach more people if the messages made it to this channel.
hvxgr has quit [Ping timeout: 240 seconds]
<p_l>
Matrix-IRC integration breaks down daily in my experience
hvxgr has joined #lisp
<no-defun-allowed>
Davd: I'm not very good at reading French (despite three years of lessons in high school); what kind of things are participants graded by?
<no-defun-allowed>
My understanding of the bridge server is that it maintains one connection to Freenode per Matrix user, and has to send Matrix→Freenode messages on the appropriate connection. Freenode→Matrix messages can, however, be received on any connection. You get into a limbo state if that connection doesn't work somehow.
<no-defun-allowed>
Sure, but what is used to decide on the winner? Development time, program runtime, lines of code, something like that?
<no-defun-allowed>
My opinion is Common Lisp is going to be the best choice for the first two.
<aeth>
if the rules don't permit libraries, then maybe
<beach>
no-defun-allowed: Is there a way you can tell David to try to fix the connection?
<epony>
program runtime, really?
frgo_ has joined #lisp
<no-defun-allowed>
beach: I don't think that is controllable on our end, but I might be in a room with one of the maintainers and could ask him to take a peek.
<no-defun-allowed>
No, I don't think reloading the client would help. The IRC integration is managed by a server somewhere far, far away.
davd has joined #lisp
<adlai>
maybe it's a channel mode issue?
frgo has quit [Ping timeout: 272 seconds]
<aeth>
adlai: yes, the name isn't identified, I think, or else there would be an account line in the whois (or however it shows up on your client)
<no-defun-allowed>
Works for me.
<aeth>
compare a whois of no-defun-allowed to Davd[m]
<adlai>
"[no-defun-allowed] is logged in as no-defun-allowed" no similar line for Davd[m]
<aeth>
weird, I don't see that on my client, maybe it's a bug
<no-defun-allowed>
It happened once to LdBeth, but they have identified and all that from memory.
<no-defun-allowed>
I like some of the ideas the Matrix people put forward, but after...about 2 years of use I think the execution is not great.
ggole has joined #lisp
<phoe>
minion: memo for jmercouris: one curious option about plists for slots is that they are not really plists. :reader/:writer/:accessor can be specified multiple times and *ALL* occurrences of these are used for creating functions.
<minion>
Remembered. I'll tell jmercouris when he/she/it next speaks.
<phoe>
minion: memo for jmercouris: they certainly look like plists, and they pretty much may formally be plists, but they are parsed differently than via the standard GETF function that's usually used for dealing with plists.
<minion>
Remembered. I'll tell jmercouris when he/she/it next speaks.
pve has joined #lisp
revtintin has quit [Ping timeout: 240 seconds]
jprajzne has joined #lisp
v_m_v has joined #lisp
Necktwi has quit [Read error: Connection reset by peer]
decent-username has joined #lisp
revtintin has joined #lisp
smasta has joined #lisp
Necktwi has joined #lisp
smasta has quit [Ping timeout: 246 seconds]
revtintin has quit [Ping timeout: 250 seconds]
revtintin has joined #lisp
revtintin has quit [Ping timeout: 240 seconds]
gxt_ is now known as gxt
revtintin has joined #lisp
rixard has joined #lisp
revtintin has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
dddddd has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
narimiran has quit [Ping timeout: 260 seconds]
jonatack has quit [Ping timeout: 258 seconds]
Ven`` has joined #lisp
jonatack has joined #lisp
narimiran has joined #lisp
revtintin has joined #lisp
ljavorsk has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #lisp
SGASAU has joined #lisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life_ is now known as Lord_of_Life
retropikzel has joined #lisp
jonatack has quit [Ping timeout: 264 seconds]
jonatack has joined #lisp
jonatack has quit [Client Quit]
jonatack has joined #lisp
parjanya has quit [Remote host closed the connection]
akoana has left #lisp ["Leaving"]
joshcom has joined #lisp
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kundry_Wag has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
Ven`` has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
smasta has quit [Ping timeout: 256 seconds]
v_m_v has quit [Remote host closed the connection]
hlavaty has joined #lisp
cosimone has joined #lisp
joshcom has quit [Ping timeout: 256 seconds]
Bourne has quit [Read error: Connection reset by peer]
<pve>
hello everyone
jonatack has quit [Quit: jonatack]
Bourne has joined #lisp
<pve>
can a compiler choose to ignore compiler macros?
<pve>
that's the impression I get from the hyperspec
<jackdaniel>
it is only specified when compiler macros must not be invoked
<pve>
jackdaniel: ok, thanks, just checking
<Shinmera>
You can even force it to ignore them by declaring the function notinline.
Kundry_Wag has quit [Ping timeout: 258 seconds]
<Xach>
bitmapper has joined #lisp
<phoe>
pve: this, (locally (declare (notinline foo)) (foo ...)) prevents a compiler macro from being invoked
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Bike has joined #lisp
<phoe>
but you cannot force the compiler to actually use a compiler macro
<pve>
ok that's good to know
<jackdaniel>
so, given all the above, compiler macro may never be invoked and will never be invoked when function is declared not inline, so we make a fourth circle with reiterating the same information
* jackdaniel
waits for the fifth circle
<phoe>
it's at least good that all this stuff is consistent
jonatack has joined #lisp
Lycurgus has joined #lisp
<beach>
So you mean you can't force the compiler to invoke the compiler macro?
shukryzablah has quit [Remote host closed the connection]
shukryzablah has joined #lisp
rwcom has quit [Quit: Ping timeout (120 seconds)]
rwcom has joined #lisp
jfrancis has quit [Remote host closed the connection]
jfrancis has joined #lisp
Lycurgus has quit [Remote host closed the connection]
man213 has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
monokrom has joined #lisp
``Erik_ has quit [Ping timeout: 258 seconds]
``Erik has joined #lisp
iAmDecim has quit [Ping timeout: 256 seconds]
rippa has joined #lisp
hiroaki has quit [Ping timeout: 256 seconds]
``Erik has quit [Ping timeout: 265 seconds]
``Erik has joined #lisp
ayuce has joined #lisp
man213_ has joined #lisp
man213_ has quit [Client Quit]
Ven`` has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
EvW has quit [Ping timeout: 252 seconds]
smasta has quit [Ping timeout: 265 seconds]
random-nick has quit [Quit: quit]
``Erik_ has joined #lisp
``Erik has quit [Ping timeout: 250 seconds]
TCZ has joined #lisp
TCZ has left #lisp ["Leaving"]
hlavaty has quit [Remote host closed the connection]
efm has quit [Remote host closed the connection]
Kevslinger has joined #lisp
``Erik_ has quit [Ping timeout: 256 seconds]
``Erik has joined #lisp
gko has quit [Ping timeout: 256 seconds]
jmercouris has joined #lisp
KDr21 has quit [Ping timeout: 256 seconds]
Inline has joined #lisp
sjl_ has joined #lisp
kam has joined #lisp
z147 has joined #lisp
<phoe>
Hmmm
dale_ has joined #lisp
dale_ is now known as dale
Lycurgus has joined #lisp
kam has quit [Quit: Quit]
kam has joined #lisp
kam has quit [Client Quit]
retropikzel has joined #lisp
KDr21 has joined #lisp
kam1 has joined #lisp
<phoe>
I need a good (meaning: possibly natural) example of nested debugger invocation in which I can demonstrate condition-restart association.
EvW has joined #lisp
<phoe>
Which means that if the debugger is launched with condition A and then get an error B without leaving the debugger, the level-2 debugger will not show restarts relevant to handling condition A.
rpg has joined #lisp
z147 has quit [Remote host closed the connection]
<phoe>
RESTART-CASE and WITH-SIMPLE-RESTART cannot be used to bind restart A, since they immediately transfer control outside the scope in which their restarts are bound.
z147 has joined #lisp
random-nick has joined #lisp
<phoe>
This is so much of an edge case that I really need to think hard about how to describe this...
<Bike>
eh? edge case? just evaluate something wrong in the debugger, no?
<Bike>
get an error with whatever fancy restart, and then in the debugger repl enter (+ "h") by mistake
jmercouris has quit [Ping timeout: 258 seconds]
<phoe>
oh right
<Bike>
having it occur programmatically might be an edge case, i guess. you'd need a condition handler to signal some other error
<phoe>
I can do it interactively.
Domaldel has joined #lisp
Domaldel has left #lisp [#lisp]
shifty has quit [Ping timeout: 240 seconds]
z147 has quit [Quit: z147]
z147 has joined #lisp
kam1 has quit [Quit: Quit]
karlosz has joined #lisp
kam1 has joined #lisp
shukryzablah has quit [Quit: ERC (IRC client for Emacs 27.0.90)]
z147 has quit [Client Quit]
z147 has joined #lisp
<phoe>
Bike: thanks, I've got it. I remembered that at this point of my book I can freely use the debugger REPL.
<Bike>
for a programmatic example, i guess the obvious would be invocation
<Bike>
er
<Bike>
encapsulation
<Bike>
like (defun foo (f) (handler-bind ((error (e) (error 'encapsulated-condition :original e ...))) (funcall f))
<Bike>
if the debugger or whatever gets the encapsulated condition, it will miss restarts associated to the original condition
<phoe>
thankfully I don't need a programmatic example
<phoe>
I have already constructed a toy debugger function and installed it in place of SBCL's original one
<phoe>
so once I have committed a mistake and entered my debugger, I can commit more mistakes inside it and get a nested debugger
<phoe>
and get a proper list of restarts.
shifty has joined #lisp
z147 has quit [Quit: z147]
<Inline>
is there any constructed named defmethod* in lisp terminology ?
<Inline>
no idea what that sharp star method is for
<Bike>
i can't parse your english
<phoe>
Inline: not in the standard
<phoe>
where have you found it?
<scymtym>
mcclim uses DEFMETHOD* for defining methods on (SETF FOO) generic functions that accept multiple values (with limitations)
xdccMule[7276IJ] has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
Lycurgus has quit [Quit: Exeunt]
shifty has joined #lisp
z147 has joined #lisp
kopiyka has quit [Quit: ERC (IRC client for Emacs 26.2)]
kopiyka has joined #lisp
<Inline>
ah ok
<Inline>
thank you
<phoe>
huh!
<phoe>
I have found a weird behaviour in sldb
<phoe>
if I eval-in-frame and type (abort), then nothing happens
kopiyka has quit [Client Quit]
<phoe>
that's because sldb binds a "return to sldb level 1" restart which is then invoked
<phoe>
for an effective no-op
kopiyka has joined #lisp
<Inline>
does anyone have good book recommendations for oop in lisp not only wrt to clos but also general methodology and design stuff ?
iAmDecim has joined #lisp
<Inline>
best practices etc
<jackdaniel>
fixing metastability issues in an implementation is the best way to get your feet wet (and get drowned)
<Inline>
found a histories for gf calls in horn for example
<Inline>
that's nice
<Inline>
heh
<Inline>
is esa meant to handle drei stuff even ?
<jackdaniel>
?
JohnMS_WORK has quit [Read error: Connection reset by peer]
<Inline>
package hierarchy wise drei depends on esa and also uses it, but i saw some code where we try to reach back into esa from drei giving objects on the way which are drei objects....
man213 has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<jackdaniel>
this is probably more CLIM topic, but I have no idea what that means. Drei and ESA were used to implement climacs.
<Inline>
hmmm
EvW has quit [Ping timeout: 272 seconds]
<Inline>
parallel and mutual ?
<Inline>
or intertwined ?
<Inline>
not sure if there'
<Inline>
s some other barrier imposed upon by tools like asdf
z147 has quit [Quit: z147]
rpg has quit [Remote host closed the connection]
shka_ has quit [Read error: Connection reset by peer]
shka_ has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
<Inline>
i rather meant something like a meta level facility for constrained oop systems construction with all the bells an whistles and the ability to tweak it exactly to your needs
<Inline>
heh
<Inline>
i suppose mop would be the only tool for the hierarchy down direction
<Inline>
otherwise i don't know
man213 has joined #lisp
revtintin has quit [Quit: WeeChat 1.9.1]
man213_ has joined #lisp
man213 has quit [Ping timeout: 258 seconds]
<Josh_2>
Inline: I do not know
<Josh_2>
I do know from building a system that was basically OO from top to bottom that is annoying
<Josh_2>
that it is*
<Josh_2>
I think that is why people prefer "data driven"
vaporatorius has quit [Ping timeout: 240 seconds]
vap1 has joined #lisp
rpg has joined #lisp
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
man213_ has quit [Quit: Going offline, see ya! (www.adiirc.com)]
man213 has joined #lisp
vlatkoB has quit [Remote host closed the connection]
<Inline>
right
<Inline>
it's like black box gaming
<Inline>
you put your hands in the engine without knowing the engine fully....
``Erik has quit [Ping timeout: 256 seconds]
``Erik has joined #lisp
SGASAU has quit [Remote host closed the connection]
Lycurgus has joined #lisp
SGASAU has joined #lisp
``Erik_ has joined #lisp
``Erik has quit [Ping timeout: 240 seconds]
cylb has joined #lisp
<phoe>
dear #lisp, I have a honest question
<phoe>
or rather, a set of questions
<phoe>
why does the condition system suck? why shouldn't it be used? how shouldn't it be used? what is it terrible for? what are its downsides?
<jackdaniel>
you seem to make some dubious assertions in your questions (most notably in the first two)
<phoe>
jackdaniel: that question *is* supposed to be biased
<phoe>
I'm basically looking for all nitpicks about the condition system, fair and somewhat unfair
<jackdaniel>
doesn't seem to be a "honest" question then
<phoe>
you are correct
<phoe>
s/honest//
<Bike>
the separation from clos sucks.
<Bike>
obscure one: a lot of things kind of have to parse types at runtime which makes it hard to do first class environment stuff
<Bike>
there could be more introspection, like dissect has to do implementation-specific junk to get properties of restarts that any implementation basically has to have on hand
<Bike>
several implementations have to define a separate "*invoke-debugger-hook*" or something because of the requirement that BREAK rebinds *debugger-hook* to NIL.
<phoe>
;; several? I thought it's all of them - I was able to find one in every implementation when I was writing trivial-custom-debugger
<Bike>
i was hedging because i have not done that research
<Bike>
the language could stand to define the types of conditions signaled in various situations more, but that's not exactly a problem with the condition system
<Bike>
though it is missing compiler-note and a few things that could be useful like simple-program-error
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
<Bike>
as jcowan brought up the other day, the fact WARN requires a condition of type warning seems pointless
<Bike>
the function that implementations probably define to coerce condition designators into a condition is not exposed
<Bike>
(which makes it slightly more annoying to define operators analogous to SIGNAL/WARN/ERROR)
<Bike>
handler-case versus handler-bind confuses every newbie, but i don't know how i'd fix that exactly
<Bike>
think that's about all i got.
<phoe>
coerce condition designators? you mean MAKE-CONDITION?
<phoe>
or did I not understand that one
<Bike>
make condition does not accept a condition designator.
<phoe>
it accepts more than that, yes
<Bike>
no, it accepts different things.
<rpg>
Bike: Did you mean like when you call ERROR and pass it a condition class designator?
<phoe>
a condition object, or a string, or a symbol
<Bike>
It doesn't accept a string.
<Bike>
or a condition, for that matter
<phoe>
wait - I got that wrong
<Bike>
It's analogous to make-instance.
<phoe>
make-condition accepts a symbol
<Bike>
it accepts a type specifier.
<phoe>
warn/error accepts strings/objects/symbols
Lycurgus has quit [Quit: Exeunt]
<phoe>
oh right, (make-condition '(or foo bar))
<Bike>
oh, yeah, the fact it's specified to accept "a subtype of condition" instead of a condition class name is also bad.
<Bike>
see how it says it also works for compiler-notify, which is of course not a standard function? if someone else wants to write an operator like error too, they have to write this themselves.
<jackdaniel>
sbcl is an oddball because they indeed implement conditions which are not standard-class
<Bike>
i mean, it can be done portably, but still
<Bike>
jackdaniel: i mean, that's fine, the standard could just say there's a condition-class metaclass and who knows what it is, or something
<jackdaniel>
sure, I'm just saying that sbcl is not a good reference point, they have more kludges than some other implementations because of that
<Bike>
i don't think coerce-to-condition is related to their decision there, despite this condition-layout-flag gibberish
mechanical-pengu has quit [Remote host closed the connection]
MechaPenguin has quit [Quit: Leaving]
MechaPenguin has joined #lisp
ggole has quit [Quit: Leaving]
MechaPenguin has quit [Client Quit]
shka_ has quit [Ping timeout: 264 seconds]
payphone has quit [Ping timeout: 264 seconds]
payphone has joined #lisp
rpg has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 250 seconds]
abhixec has joined #lisp
kam1 has joined #lisp
dtman34 has joined #lisp
<Inline>
i suppose in the near future our incomes will be pure statistics
<Inline>
lol
<Grue`>
phoe: (re: why condition system sucks) the fact that define-condition and defclass with some sort of condition metaclass are not the same thing.
shifty has quit [Ping timeout: 256 seconds]
shifty has joined #lisp
iAmDecim has quit [Ping timeout: 250 seconds]
<pjb>
phoe: note that if you write your own implementation, you can make define-condition and defclass with some sort of condition metaclass be the same thing.
<phoe>
pjb: my own implementation of the condition system, you mean?
<pjb>
Right, it wouldn't be conforming, but it would be an improvement. And once all implementations do it too, we can have a trivial-condition package and be happy.
<pjb>
Yes.
<phoe>
yes, that's correct; I won't do it though
<pjb>
choices
<phoe>
I'll work on kmp's original implementation, which uses defstruct. it's much simpler to understand.
<phoe>
ayup, choices
v_m_v has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
shangul has quit [Ping timeout: 260 seconds]
SGASAU has quit [Ping timeout: 258 seconds]
rpg has joined #lisp
<rpg>
Here's a question I was asking on the LW mailing list: In all the implementations I regularly use I can package qualify entire s-expressions, as in 'shop-user::(foo bar baz) On Lispworks this causes a reader error. Couldn't find a clear discussion of this in the CLHS. Is this legit CL, or just a common extension to the syntax?
<rpg>
Bah. Now I have to figure out how to find and fix in my text files.
<rpg>
s/text/test
<phoe>
rpg: wouldn't a simple grep for ::( be enough?
<_death>
rpg: did you write a paper about FRAIL3 many moons ago?
<jackdaniel>
:: is a syntax available in sbcl (and, I think, in allegro), but it is not a conforming reader use
<Colleen>
Unknown command. Possible matches: 8, time, set, say, mop, get, tell, roll, help, deny,
<rpg>
phoe: Yes, but the rewrite is cumbersome -- Need to do something like replace with (repackage <sexp> <package-name>) and define tree-searching repackage. That needs to not repackage things that are themselves package-qualified. :-(
<rpg>
_death: Yes, indeed. Maybe two? ACL and UAI?
<phoe>
rpg: I got 13 hits in total in the shop3 repository. Not much for manual replacing.
<rpg>
phoe: Fair.
<phoe>
Oh, wait. In actual lisp files, just four hits.
<rpg>
phoe: I *think* that's all that's necessary.
<phoe>
...all four of which are marked with #+nil.
<phoe>
:)
<rpg>
phoe: That's interesting! It means I never used it except on this topic branch! That makes it *much* easier.
<phoe>
rpg: glad to be of service
<_death>
rpg: cool.. IEEE it seems.. A Language for Construction of Belief Networks (with Charniak)
<rpg>
Still, what a *useful* syntax extension.
<rpg>
_death: Oh, yes. The two I remember were the conference papers.
retropikzel has quit [Quit: Leaving]
<_death>
rpg: nice, read it today (recently I've implemented something like IDEAL, I guess..)
<rpg>
_death: Oh, neat. IDEAL was really a lovely piece of software. I still have a copy of it, but I can't share it because it belongs to a company, and I haven't been able to persuade them to open source it.
<_death>
rpg: did it also contain methods for learning BNs?
<rpg>
_death: Yes, but they were very rudimentary. If I recall correctly, basically just support for Dirichlet priors.
<_death>
rpg: ah.. I implemented chow-liu/polytree/k2/mdl/pc
<_death>
rpg: no beta/dirichlet priors though
<rpg>
_death: Cool. I've been working on some stuff with continuous-valued bayes nets lately, but using Python and PyMC3. Hard to beat the numpy ecosystem.
<_death>
I guess :).. my stuff is just for (self) educational value for now
<_death>
so implementational efficiency was not a concern
cosimone has quit [Read error: Connection reset by peer]
<rpg>
_death: Well, my knowledge of complex monte carlo methods for continuous distributions really wasn't up to doing anything like what PyMC3 does by myeslf.
cosimone_ has joined #lisp
keep_learning has joined #lisp
v_m_v has quit [Read error: Connection reset by peer]
<_death>
rpg: yeah pymc3 seemed very cool when I checked it out.. maybe one day CL will have an analogue
<rpg>
Or if one wanted one's own PPL, reach straight from CL into TensorFlow...
ahungry has quit [Remote host closed the connection]
<rpg>
scymtym: Ah. That's mostly Monte Carlo tree search. The cool kids seem to be using Hamiltonian Monte Carlo for continuous-valued distributions.
<rpg>
scymtym: But that's still hugely useful, since I could use an implementation of MCTS.... Thanks!
<_death>
rpg: well, I only implemented discrete models.. most BN literature from the 80s/90s at least concentrates on that
<scymtym>
rpg: if i remember correctly, the tree search bits are built on top of more general mcmc machinery. i may be misremembering
monokrom has quit [Remote host closed the connection]
leo_song has quit [Ping timeout: 256 seconds]
leo_song has joined #lisp
sjl_ has quit [Ping timeout: 250 seconds]
<rpg>
_death: As an old AI guy, discrete random variables used to be just my thing. My continuous probability theory is pretty rusty (i.e., bad). Perhaps unsurprisingly, because the intuitions are so different, the solution techniques are also quite different.
pilne has joined #lisp
leo_song has quit [Ping timeout: 256 seconds]
<rpg>
scymtym: That looks right, but even so, for the applications I'm working on now, HMC seems way better. If you are at all interested, Michael Betancourt has written a fascinating paper that does a great job of giving the intuitions about why HMC works -- even to a person like me whose knowledge of more complex analysis and geometry is quite weak.
iAmDecim has joined #lisp
<scymtym>
rpg: from a brief glance, HMC seems like a particular, more efficient way of doing the jump proposal step. reminds me a bit of reversible jump mcmc which i used like ten year ago. still interesting but not relevant to current work so i can't spend any time
<_death>
rpg: right, I basically just read a book and implemented most of what it talks about (reading papers as needed).. since it was light on the details for continuous variables, I decided not to delve into it at that time.. since then I've done the same with a reinforcement learning book (but that was much easier since it had some pseudocode hehe)
leo_song has joined #lisp
iAmDecim has quit [Ping timeout: 240 seconds]
<rpg>
scymtym: I think that's right. The notion is that HMC finds its way to a "typical set" which is a set of locations that hold most of the posterior probability mass, and then, because of complicated mumble geometry, the sampler "orbits" in a location that all has essentially the same mass, so it rapidly explores the most interesting part of the distribution.
<rpg>
_death: I think there's a reason that the techniques for discrete and continuous distirbutions are so different.
spikemaster has joined #lisp
spikemaster has left #lisp ["ERC (IRC client for Emacs 28.0.50)"]
orivej has quit [Ping timeout: 258 seconds]
<_death>
maybe it's the focus on methods for exact inference?
pve has quit [Quit: leaving]
Lord_of_Life_ has joined #lisp
<rpg>
_death: I don't know -- when I was working on discrete distributions I found that the best exact methods were fine for what I was doing -- indeed better than the approximate methods. That was particular to my problems, though, which weren't too huge, but had very extreme probabilities, and when I was doing things importance sampling didn't work well enough to get to low probability regions.
jeosol has joined #lisp
decent-username has quit [Ping timeout: 246 seconds]
Lord_of_Life has quit [Ping timeout: 258 seconds]
Lord_of_Life_ is now known as Lord_of_Life
orivej has joined #lisp
<_death>
rpg: yes, that's also true in my (toy) experience.. exact methods also had issues with near-zero probabilities, but they were worked around
<_death>
(those issues were performance related.. unlike what you describe re approx methods)
davd has quit [Ping timeout: 250 seconds]
cosimone_ is now known as cosimone
<rpg>
_death: Yes, the sampling methods would just never converge.
iAmDecim has joined #lisp
gravicappa has quit [Ping timeout: 256 seconds]
cosimone has quit [Quit: Quit.]
<_death>
rpg: anyway, thanks for the conversation :).. I guess we should return to being on-topic now
<rpg>
WFM!
iAmDecim has quit [Ping timeout: 250 seconds]
orivej has quit [Ping timeout: 258 seconds]
shukryzablah has joined #lisp
smasta has joined #lisp
man213 has quit [Quit: Going offline, see ya! (www.adiirc.com)]
jeosol has quit [Remote host closed the connection]
jeosol has joined #lisp
<jeosol>
Good morning everyone
<phoe>
jeosol: good night
__jrjsmrtn__ has quit [Ping timeout: 256 seconds]
__jrjsmrtn__ has joined #lisp
<jeosol>
lol, night for you I guess, or has the official greeting changed. I haven't been here in a while.
<phoe>
no no, it hasn't changed
<phoe>
it's just almost 1am for me
<phoe>
and I still haven't run my unit tests for the night
<phoe>
> Once a handler in a handler binding form (such as handler-bind or handler-case) has been selected, all handlers in that form become inactive for the remainder of the signaling process. While the selected handler runs, no other handler established by that form is active. That is, if the handler declines, no other handler established by that form will be considered for possible invocation.
<phoe>
or does it mean that handlers from that cluster stop being visible to SIGNAL if it's called inside the handlers' bodies?
<Bike>
it's a bit confusing. It says "while the selected handler runs [...] That is, if the handler declines", but declining means the handler is done running.
<phoe>
yes
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<phoe>
ohhh, I think I understand it
<phoe>
the handler cluster becomes inactive - meaning that they cannot be selected by SIGNAL
<Bike>
yeah, that would make sense to me.
<phoe>
while the handler runs, no other handler is active - it means that SIGNAL cannot call handlers from the handler cluster whose handlers it is currently invoking
<Bike>
a new signal from the handler.
<phoe>
yes
<Bike>
this also matches the usual implementation of handler-bind.
<phoe>
yep
<phoe>
glad to know that I understood clustering properly