Page 1 of 1

(clos) additional properties to slot definition

Posted: Mon Feb 24, 2014 4:46 am
by baleog
http://mop.lisp.se/concepts.html says:
An implementation is free to add additional properties to the canonicalized slot specification provided these are not symbols accessible in the common-lisp-user package, or exported by any package defined in the ANSI Common Lisp standard.
with example:

Code: Select all

(defclass sst (plane)
     ((mach mag-step 2
            locator sst-mach
            locator mach-location
            :reader mach-speed
            :reader mach))
  (:metaclass faster-class)
  (another-option foo bar))
But when i try:

Code: Select all

(defclass a () ((x my-option 123)))
sbcl compile it with error:
Invalid initialization argument:
MY-OPTION
in call for class #<STANDARD-CLASS
SB-MOP:STANDARD-DIRECT-SLOT-DEFINITION>.
[Condition of type SB-PCL::INITARG-ERROR]
So the question. How can I add additional properties to the slot definition?

Re: (clos) additional properties to slot definition

Posted: Mon Mar 03, 2014 8:51 am
by pjstirling
I'm no clos expert, but wouldn't you need to use a different metaclass?