[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: change to instance structure protocol
- To: Moon@stony-brook.scrc.symbolics.com
- Subject: Re: change to instance structure protocol
- From: Gregor Kiczales <gregor@parc.xerox.com>
- Date: Fri, 30 Nov 1990 11:09:25 PST
- Cc: jonl@lucid.com, MOP.PARC@xerox.com
- Fake-sender: gregor@parc.xerox.com
- In-reply-to: "Moon@stony-brook.scrc.symbolics.com's message of Thu, 29 Nov 1990 18:57:00 PST <19901130025720.5.MOON@KENNETH-WILLIAMS.SCRC.Symbolics.COM>"
Date: Thu, 29 Nov 1990 18:57:00 PST
From: Moon@stony-brook.scrc.symbolics.com
"Any method, defined by a portable program on a specified generic
function, must have at least one specializer which is not a specified
class."
So "the standard metaclass" implies "no user-defined methods" (except
for the bug with EQL specialized methods that Cyphers pointed out, which
I imagine is one of the banes of Gregor's existence too).
Yes, it is this "bane" which led me down the path of questioning the EQL
methods concept. I came to see that without EQL methods, code that
reasons about method applicability is simple and elegant. But, with EQL
methods, it is a mess. I eventually concluded that EQL methods (should)
have nothing to do with CLOS; whereas other kinds of methods are about
applicability and inheritance, EQL methods are just about applicability.
The functionality provided by EQL methods is useful. While it might
make sense to merge it with the method lookup functionality in prototype
languages (Object Lisp, Self), it should be part of a separate facility
in class/instance languages like CLOS.
Alas, EQL methods seem to be in to stay now.