freenode/#lisp - IRC Chatlog
Search
9:40:43
no-defun-allowed
If I provide custom initargs in a slot definition, eg (defclass foo () ((bar :on-fire t)) (:metaclass ...)), should I expect effective-slot-definition-class to get that initarg?
9:43:07
phoe
"The initargs argument is the set of initialization arguments and values that will be passed to make-instance when the effective slot definition metaobject is created."
9:51:42
phoe
on SBCL, make-instance signals an error because :ON-FIRE is not a known keyword argument
9:53:35
no-defun-allowed
I'm going to back out of trying to interpret the MOP, and I'll just restructure this to not use initargs like that.
9:58:28
no-defun-allowed
But, I would say that if it did pass all the initargs, what would it pass for something like (defclass foo () ((a :on-fire t)) ...) (defclass bar (foo) ((a :on-fire nil)) ...)? Merging values like that makes sense for :initargs, :allocation, and so on, but not arbitrary initargs.
10:01:14
beach
Each DIRECT-SLOT-DEFINITION would have that initarg, and COMPUTE-SLOTS must decide how to take all the DIRECT-SLOT-DEFINITIONs for the same slot and compute an EFFECTIVE-SLOT-DEFINITION.
10:08:44
no-defun-allowed
Yeah, I have modified my code to not use different effective slot definition classes, as it would just be a weird way of representing a predicate here.
11:56:07
scymtym
contrapunctus: when tying a parser to a particular result representation, there is often tension between the requirements of further processing steps (often benefit from proper syntax tree with classes and all) on the one hand and simplicity of development, debugging and testing which list-based results provide on the other hand. after a few years, i came up with https://github.com/scymtym/architecture.builder-protocol/ (a variation of
17:21:46
contrapunctus
scymtym: that's true...but in this case, I really don't know what's going on or what's the right way to make a parser emit CommonDoc IR. I guessed there might be something like a "plist-to-commondoc" procedure, but didn't find anything like that either.
17:22:36
contrapunctus
Which leaves the 'use constructors' path, and the unresolved mystery of why Scriba emits those plists.
19:53:08
AeroNotix
I'm struggling to find docs on how to use .a files with cffi. Can someone point me to the right place, please?
19:58:31
mseddon
AeroNotix: Letting people know which operating system you are running under will help here.