[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Random metaclasses for CL types
re: I think that funcallable-standard-class shouldn't be a subclass of
built-in-class. That would break the intuitive concept of
specializations: the specialization refines the behavior of its
superclass.
My note didn't suggest that FUNCALLABLE-STANDARD-CLASS be a subclass of
BUILT-IN-CLASS -- I only remarked that there is no reason why it _can't_
be a subclass of STANDARD-CLASS. In the reverse direction -- whether
STANDARD-FUNCTION-OBJECTs can have a metaclass that is a subclass of
BUILT-IN-CLASS -- well this is probably an implementational issue,
isn't it?
But on the other hand, I don't see how the "rule of refinement" applies
here. Suppose the class B-OBJECT is a "refinement" of A-OBJECT; my
message was to elucidate that this does not imply that that the
metaclass for B-OBJECT must be a subclass of the metaclasss for
A-OBJECT. That is, the subclassing relations between metaclasses
are more concerned with _how_ the metaclasses describe the details of
their end-products than with _what_ the shape of each end-product is.
re: The names STANDARD-FUNCTION-OBJECT and STANDARD-FUNCTION-CLASS are
misleading. One can think that Common Lisp functions are
standard-function objects. I agree that the current name
FUNCALLABLE-STANDARD-CLASS doesn't fit well in the nomenclature, but
it is strange enough so it does not have the wrong connotation.
I don't follow the reasoning here either. Why would anyone ever think
that a class named STANDARD-FUNCTION-OBJECT covers Common Lisp (non-
generic) functions? Does anyone ever jump to the conclusion that Common
Lisp data types are elements of STANDARD-OBJECT just because of the name?
-- JonL --