Article View: comp.lang.clos
Article #697Re: Metaclass inheritance?
From: Gregor Kiczales
Date: Sat, 09 Jan 1993 01:37
Date: Sat, 09 Jan 1993 01:37
28 lines
1754 bytes
1754 bytes
In article <1993Jan8.220317@di.epfl.ch> matomira@di.epfl.ch (Fernando Mato Mira) writes:
Here is a way of implementing the rule for implementing metaclass
inheritance proposed in my previous post...
(defmethod ensure-class-using-class :around ((class t) name
&rest args
&key (direct-superclasses nil)
(metaclass nil))
...)
This is a nice hack, and it is probably good enough to get some work
done, but I guess I should point out that it is illegal, in portable
code, according to the rules on pages 142, 143 and 144 of AMOP.
Specifically the rule that:
Any method defined by a portable program on a specified generic
function must have at least one specializer that is neither a
specified class nor an {\bf eql} specializer whose associated
value is an instance of a specified class.
The basic problem with methods like this is that two programs, written
separately, which both have methods like this, will interfere with each
other if they are loaded together. That is why this rule is there. We
talk about this, and the origin of all these rules, in more detail in
our OOPSLA'92 paper.
Technical Details
Message-ID:
<GREGOR.93Jan8173751@tracer-bullet.parc.xerox.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!sun-barr!ames!biosci!parc!gregorReferences:
<1993Jan8.154239@di.epfl.ch> <GREGOR.93Jan8110532@tracer-bullet.parc.xerox.com> <1993Jan8.220317@di.epfl.ch>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!sun-barr!ames!biosci!parc!gregor From: gregor@parc.xerox.com (Gregor Kiczales) Newsgroups: comp.lang.clos Subject: Re: Metaclass inheritance? Message-ID: <GREGOR.93Jan8173751@tracer-bullet.parc.xerox.com> Date: 9 Jan 93 01:37:51 GMT References: <1993Jan8.154239@di.epfl.ch> <GREGOR.93Jan8110532@tracer-bullet.parc.xerox.com> <1993Jan8.220317@di.epfl.ch> Sender: news@parc.xerox.com Followup-To: comp.lang.clos Organization: Xerox Palo Alto Research Center Lines: 28 In-Reply-To: matomira@di.epfl.ch's message of 8 Jan 93 21:03:17 GMT