[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Random metaclasses for CL types
- To: Gray@dsg.csc.ti.com
- Subject: Random metaclasses for CL types
- From: Jon L White <jonl@lucid.com>
- Date: Fri, 26 May 89 08:47:17 PDT
- Cc: Moon@STONY-BROOK.SCRC.Symbolics.COM, RPG@SAIL.Stanford.EDU, dussud@lucid.com, common-lisp-object-system@SAIL.Stanford.EDU
- In-reply-to: David N Gray's message of Thu, 25 May 89 16:25:44 CDT <2821123544-11773066@Kelvin>
- Reply-to: <Common-Lisp-Object-System-mailer@SAIL.Stanford.EDU>
re: > As I've previously argued, the only utility of BUILT-IN-CLASS is
> taxonomic and this capability can just as easily and naturally be
> provided by a list of all such classes.
No, having a list doesn't give you the ability to write methods
specialized on that group of things.
Hey, did you forget we are talking about BUILT-IN-CLASS (and not about
any particular built-in class such as INTEGER or VECTOR)? User's can't
write methods for BUILT-IN-CLASS. Since my previous arguments about the
artificial similarities among the built-in classes haven't been rebutted,
then I don't see much to be gained by trying to let them write methods for
such an ad-hoc construct.
In your "portable INSPECTOR" project, for example, you need to make a
decision as to whether to call the built-in DESCRIBE-OBJECT, or to fall
into some code written in CLOS. I claim there is no conceptual
disadvantage to making that decision by doing a MEMBER down a system
supplied list. Furthermore I claim that creating an abstract metaclass
for some totally disconnected set of classes has the _disadvantage_ of
adding confusion, because the observer of the abstraction must think
that there is an underlying similarity in the base elements. [The
offending abstraction is BUILT-IN-CLASS because it's only portable
use is taxonomic.]
-- JonL --