From: Bruno H. <br...@cl...> - 2004-09-28 10:38:01
|
Hi, ANSI CL's description of DEFCLASS says: "The options to defclass can be extended. It is required that all implementations signal an error if they observe a class option or a slot option that is not implemented locally." But sbcl 0.8.13 doesn't signal an error when the slot options :NAME, :READERS, :WRITERS, :INITARGS, :INITFUNCTION are used: * (defclass foo () ((x :name bar :readers (bar) :writers (bar) :initargs (bar) :initform 17 :initfunction (lambda () 42)))) #<STANDARD-CLASS FOO> * (let ((slot (first (sb-mop:class-direct-slots (find-class 'foo))))) (list (sb-mop:slot-definition-name slot) (sb-mop:slot-definition-readers slot) (sb-mop:slot-definition-writers slot) (sb-mop:slot-definition-initargs slot) (funcall (sb-mop:slot-definition-initfunction slot)))) (X NIL NIL NIL 17) As you can see, these options were accepted but had no effect. Bruno |