core-lisp
core-lisp copied to clipboard
defclass doesn't implement :abstractp
According to the spec, the following code should work:
(defclass <expr> () () (:abstractp t))
however when I try this under core-lisp/SBCL I get the following error:
debugger invoked on a SB-PCL::INITARG-ERROR in thread
#<THREAD "main thread" RUNNING {10005084C3}>:
Invalid initialization argument:
:ABSTRACTP
in call for class #<STANDARD-CLASS COMMON-LISP:STANDARD-CLASS>.
I'll look into it. Normally in CL if you want an abstract class you would define an abstract-class metaclass, but I see in the spec that the :metaclass
and :abstract
options are orthogonal, so it would probably have to be handled in create
instead.
Would it be helpful if, for the moment, I added no-op parsing for the :abstract keyword, or do you really need an abstract class?
That would be helpful. It's really just for porting some code from Christian Jullien's OpenLisp so although it would be nice to enforce, just parsing is still a big help.