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

Re: Extent

    To me the execution of a generic function is a black box, just
    as TAGBODY is.  Because it is a black box, my understanding of the
    semantics of it naturally includes the fact that CALL-NEXT-METHOD
    has ``hidden state.'' That is, to me an activation of a generic
    function includes imposing a control structure on the methods and
    causing the functional objects associated with methods to be
    invoked according to that control structure. CALL-NEXT-METHOD is
    part of the control structure but not all of it. This can be seen
    because the ``capturing of hidden state'' in my example does not
    capture enough of the state to cause the generic function to
    complete. If the method combination type were a linear
    CALL-NEXT-METHOD chain, the effect would be the completion of the
    second part of the generic function.
To me the execution of a generic function is a clear box.  Because the
user, through compute-effective-method, and its user interace
define-method-combination, is constructing the effective method from a
set of functions the he/she explicitly handles, the operation of this
clear box is well defined.  I agree with Moon that the only reason not
to publicize the name is to allow implementtion freedom  So this argues
for indefinite extent.