This is a read-only archive of lispforum.com. The forum was locked to new users and posts and is preserved here as static HTML from a database snapshot taken on 2019-09-07.

(clos) additional properties to slot definition

2 posts · 2511 views

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:
(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:
(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

I'm no clos expert, but wouldn't you need to use a different metaclass?