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

Re: Issues on Dynamic Extent for CALL-NEXT-METHOD

    Today I talked to Guy Steele on the phone, and I told him about
    generic functions, methods, and call-next-method without expressing
    any opinions about them. When I asked what extent call-next-method
    should have, he thought for a while and stated `dynamic.' When I
    asked why, he gave argument 4, which talks about the capture of
    hidden state.

I guess I don't think this has any weight because I have no way of
knowing exactly how you described this to him.  Many of your messages
suggest that you think of a generic function as a 'black box' with
hidden state, its likely you conveyed that feeling while you were
describing it.

I believe this is a bad way to think of them, I don't see any hidden
state in a generic function at all.  In particular, we worked very hard
while we were doing declarative method combination to make sure that
there was no hidden state; that the entire behavior of the method
combination was exposed and clear.

I really think it would be unfortunate to make this dynamic extent.  It
will just be yet another piece of inconvenience and complication we
inflict on people trying to understand Common Lisp.  Whats more, once
people really get to understand generic functions and method
combinations they will scratch their heads and wonder why the hell we
did it.