[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: DUSSUD%Jenner%ti-csl.csnet@RELAY.CS.NET
- Subject: Re: ---
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 26 Jan 87 12:58 PST
- Cc: Bobrow.pa@Xerox.COM, common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: DUSSUD%Jenner%ti-csl.csnet@RELAY.CS.NET's message of 23 Jan 87 15:15:45
- Sender: Bobrow.pa@Xerox.COM
2) There is no lambda-list. It also omits the keyword
:order from the method specifier. defgeneric-options is
extended to store parameters in the generic function. This
can be used to support features like reversed order for
<and> combination if desired.
There is a problem in tying up the parameters of the method
combination to the generic function. If the user has to access
those from the generic function, extensions where there can be
several method combinations defined for the same generic function
will not work. Parameters passed explicitly to the method
combination function avoid this problem.
In both versions of define-method-combination, the parameters passed are
a function of the particular generic-function. a generic-function can
have only one method-combination type -- parametrized or not.
I am not sure that the :around keyword actually simplifies
things. It hides the around mechanism, but seeing the actual code
helps people to get the right model in their minds.
The point here is that we want to make it easy to suport :around
methods, and it is such a common idiom that we want to make it short.
By showing the translation (which people can understand once) we hope to
give people the right model in their minds.
Despite these points, we seem to be converging on this issue.
I take this message as support for including this version of
define-method-combination as the one in the specification. I agree with
Gabriel that this committee should really amke up its mind.