[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: no-applicable-method



Gregor writes:

``I don't believe this is appropriate, because call-next-method itself
isn't doing any method lookup.  Another way of saying this is that
call-next-method is not a generic-function that is failing to find an
applicable method.''

RPG writes
``I think his reasoning is not correct and suffers from making distinctions
that aren't important. What does CALL-NEXT-METHOD do? Assume we are
talking about primary methods. There is a set of applicable methods
that are ordered from most specific to least specific. If call-next-method
is invoked, the next most specific applicable method is invoked. If there
is none, then there is no less specific applicable method.

If you are in the :around case, if there is no less specific :around method
the cluster of applicable :before, primary, and :after methods are invoked.

These sound as if the problem is that there is no applicable method.

My question is, where is the necessity of method lookup generic function
invocation in the semantics of NO-APPLICABLE-METHOD? ''


I think the critical issue here is that for intelligent error handling,
different arguments are necessary for NO-NEXT-METHOD and NO-APPLICABLE-METHOD.
NO-APPLICABLE-METHOD only needs the generic function and the arguments.
NO-NEXT-METHOD also needs the method that contained the call to
CALL-NEXT-METHOD. Hence, these two need to be different functions.