libera/#sbcl - IRC Chatlog
Search
14:44:00
jackdaniel
speaking of note-output-record-child-changed and muffling conditions, I suppose that I need to put the whole defgeneric in locally declare, right?
15:18:08
stassats
Krystof: the way i end up with &optional and &key is when i exported a function with &optional, and after some time had to extend it
15:18:37
stassats
so that warning wouldn't help, the warning would have to be "using &optional in an exported function, now you can't add &key!"
19:55:33
karlosz
i have more stack changes coming up which take block local information into account rather than hacking it which the random tester will probably have a field day with
19:56:20
karlosz
stack is pretty incoherent: it's weird that dx lvars go in the pushed set but dx lvars are totally absent from the popped set for each block
19:56:45
karlosz
using somewhat unrelated mechanisms like map-block-nlxes and entry nodes to get at that info
19:57:57
karlosz
envanal could just insert a cleanup funny node that has that info and propagate that which ltn uses to put on the popped set rather than scanning the cleanups for each block manually
19:58:16
karlosz
of course the way we do conditional dx means we have to treat dx totally differently
19:58:51
karlosz
(let ((x (if y (cons a b) 4))) (declare (dynamic-extent x)) blah) just doesn't work due to the way we represent conditional dx
19:59:37
karlosz
maybe having a concept of a 'root object' lvar which the inaccessible subparts are subordinate to
20:00:36
karlosz
though other stack objects could be made intermediate to the inaccessible subparts and the declared dx object which would make sharing a coherent stack pointer probably not feasible
0:56:15
pdietz
There was a lot of pain with dx in the past. I have a specialized random tester for it.