Re: Nonstandard method combinations?



Michal Krupka wrote:
On 2006-10-29 02:10:11 +0200, Christophe Rhodes <csr21@xxxxxxxxxx> said:

Michal Krupka <kokoml2@xxxxxxx> writes:

BTW, I've tried the code on LispWorks, SBCL, and Allegro, and only
LispWorks does not lead to error after executing (upgrade-config-file
2). The error is "More than one method of type METHODS with the same
specializers." Is there an error in my code?

Formally, maybe. Buried in the spec for the long form of
DEFINE-METHOD-COMBINATION, there is the lovely wording (and I
apologize for the long and complex quote, but this is what we get to
play with):
...

Thank you for your explanation. Using the * method group works in SBCL indeed. Allegro still signals the error.

If you really want your method combination to work in spite of the vague restrictions of define-method-combination, you can instead override compute-effective-method in the CLOS MOP. There, no additional checks are performed. The result must look similar to what a definition-method-combination has to produce.

Except that Allegro doesn't use user-defined methods on compute-effective-method. :(

Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
.