[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ---
- To: common-lisp-object-system@SAIL.STANFORD.EDU
- Subject: Re: ---
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Tue, 27 Jan 87 20:49 EST
- In-reply-to: <870127-130543-5661@Xerox>
Date: 27 Jan 87 13:05 PST
From: Danny Bobrow <Bobrow.pa@Xerox.COM>
A generic-function can have only one method-combination
type -- parametrized or not.
Well that's what is in the standard. I consider this assumption
being a simplification of a more general model. I understand that
we don't want to put the general model in the standard (Size,
complexity.....) but we can't lock the standard in a mode where
only the simplistic model can be supported without
incompatibilities.
To get other kinds of extensions, one uses the meta-object protocol,
which in this case consists of defining your own method on
compute-effective-method. Since this is called by the system when
generic function is called with a set of arguments, the only thing it
can depend on is information from the generic function (and of course
the argument types). The issue is whether that information is extracted
by the system and made an argument of the method, or extracted in the
method. I have suggested that extracting it in the method is the
general way to do it.
That is not really what you have suggested. You suggested extracting it in
the define-method-combination. That's entirely different from extracting
it in a method that is defined by someone using the meta-object protocol.
Your suggestion would mean that define-method-combination forms would not
be portable between systems that have only one method combination type per
generic-function and systems that are more general. What I think Patrick
is suggesting is that the extension to allow more general selection of a
method-combination type should be orthogonal to the method-combination
types themselves.
- References:
- Re: ---
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>