[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.
danny