The metaclass
funcallable-standard-object
provides the default
:direct-superclasses
for instances of
funcallable-standard-class
and its subclasses.
funcallable-standard-object
is implemented as described in AMOP except for a different order in the class precedence list.
In AMOP the class precedence list is
(funcallable-standard-object standard-object function t)
whereas in LispWorks the class precedence list is
(funcallable-standard-object function standard-object t)
LispWorks is like this to be compliant with the rules in the ANSI Common Lisp Standard.
(The AMOP class precedence list implies a class precedence for
generic-function
which violates the last sentence in ANSI Common Lisp 4.2.2 Type Relationships. See www.lispworks.com/reference/HyperSpec/Body/04_bb.htm.