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

method-lambda and apply-method-lambda

I have several minor questions with this proposal and one major one.
I will start with the major one since I think it addresses an important
characteristic of the proposal.  The minor ones can be dealt with in a
later message.

The major problem I have is with making apply-method be a generic
function.  It seems to me that doing this will prevent the
metacircularity from `bottoming out'.  This is illustrated by the YES
answer to the following question:

  - Are standard generic functions guaranteed to call apply-method?

     Yes: But if apply-method is a generic function, how is it
          itself implemented?

     No:  Then why bother having apply-method be a generic function,
          what does it really buy me?

This is why the proposal include in the draft MOP had apply-method being
a function.  It seemed to me that the code that called it was `below
the level of metacircularity' in the evaluator.

One way of seeing this is that the current design of the MOP has no
generic function invocations happening during the invocation of a
generic function.  This simple rule prevents the kind of infinite
metacircularity problems that are coming up here.