freenode/#clasp - IRC Chatlog
Search
6:32:55
drmeister
::notify kpoeck We hit a problem with the eclector reader - when it reads in structures it appears to want a value for every slot. If a slot is unbound this code will fail... https://github.com/clasp-developers/Eclector/blob/master/code/reader/fixup.lisp#L28
6:35:45
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/lsp/sharpmacros.lsp#L68
8:13:22
Colleen
kpoeck: drmeister said 1 hour, 40 minutes ago: We hit a problem with the eclector reader - when it reads in structures it appears to want a value for every slot. If a slot is unbound this code will fail... https://github.com/clasp-developers/Eclector/blob/master/code/reader/fixup.lisp#L28
8:23:11
phoe
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/lsp/sharpmacros.lsp#L68 describes classes, not structures
8:37:12
phoe
for actual structures, the reader at https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/lsp/sharpmacros.lsp#L61 wants to seem to read exactly N key-value pairs where N is the number of structure slots
8:38:03
phoe
hmmm, grepping http://clhs.lisp.se/Body/m_defstr.htm for "bound" gives me no good results
8:38:51
phoe
it must follow the part that reads "If no slot-initform is supplied, the consequences are undefined if an attempt is later made to read the slot's value before a value is explicitly assigned."
8:39:52
kpoeck
But it would have been nice if drmeister left us a concrete case, so that I could fix it, while he sleeps
8:49:06
kpoeck
the example with an unbound slot is (defstruct (bar (:constructor make-bar (a))) a b)
8:58:56
kpoeck
Well the problem is another, if I make a boa-constructor, how would the reader now which boa-constructor to call?
9:25:40
Colleen
Unknown command. Possible matches: notify, 8, set, mop, get, login, roll, say, uptime, grant,
9:26:05
kpoeck
::notify drmeister perhaps https://gist.github.com/kpoeck/fb033e3688599820924cd69ad5e64bfd
9:27:23
kpoeck
::notify drmeister This is for standard-objects not for structures in the context of #= right? Do you have an example?
9:54:54
paulapatience[m]
::notify drmeister I managed to compile the dev branch of clasp with llvm-9 without any problems, but 'make test' in demo-clasp-cxx-interoperation still runs into the same segmentation violation I had before: http://ix.io/2gsS
11:22:24
paulapatience[m]
Ok, that's reassuring at least. I figured maybe something could be wrong with my system.
11:23:07
scymtym
kpoeck: i didn't follow the whole discussion but noticed you mentioning that clasp doesn't use eclector's #S reader macro function. do you know what the reason is?
11:26:04
scymtym
more specifically, a complete client must implement MAKE-STRUCTURE-INSTANCE, but i'm not sure why eclector's reader macro function for #S wouldn't work
11:32:07
kpoeck
But while you are here: is (defmethod fixup (client (object standard-object) seen-objects mapping)..) possibly wrong
11:32:24
scymtym
sure, as i said, a client must define MAKE-STRUCTURE-INSTANCE, that much is clear. i'm wondering about the reader macro function
11:35:21
scymtym
yeah, if something is wrong with FIXUP, that's probably unrelated. unless structures are standard objects in clasp, maybe
11:35:31
kpoeck
Is there perhaps a bug in https://github.com/clasp-developers/Eclector/blob/master/code/reader/fixup.lisp#L31
11:36:54
kpoeck
Should that line perhaps be: (when (slot-boundp object name) (fixup-place (slot-value object name)))?