[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ---
- To: Danny Bobrow <Bobrow.pa@XEROX.COM>
- Subject: Re: ---
- From: DUSSUD%Jenner%ti-csl.csnet@RELAY.CS.NET
- Date: 27-Jan-87 17:39:46
- Cc: common-lisp-object-system@SU-AI.ARPA
- In-reply-to: In-Reply-To: Msg of 27-Jan-87 15:05:00 from Danny Bobrow <Bobrow.pa@xerox.com>Msg of 27-Jan-87 15
Date: 27-Jan-87 15:05:00
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.
I agree with the fact than one can define its own
compute-effective-method, the issue has to do with modularity.
Compute-effective-method has to find the list of all the method that can
be called, find the method combination method, call it to come up with the
code for the effective method. We need to keep those operations as
independent as possible. If we supply the information as an argument to
the method combinator, the user writing a method combination method does
not have to worry about how the information was obtained. Different
implementations of compute-effective-method will be able to call the
same method combinator even if they use different ways to come up with
the method combination method. It seems more modular and more general
than extracting the information in the method.
Maybe David has some more (convincing?) arguments.
Patrick.