> I'm not completely clear, but I think the only point is that 'raise' > does not, in general, actually abort. It calls a handler that makes > the decision to abort or not. When aborting actually happens, however, > abort is what does the aborting.
Hmm. If I understand, you are saying that 'raise' is a function call with dynamic binding for the function. I have been also thinking a way to rationalize Racket's behavior of control operators capturing and installing exception handlers; your view might be consistent with this behavior too. I have to think about it more. Still I am not certain that this behavior of 'raise' cannot be implemented by other (delimited) control operators. And, probably I do not still understand why 'raise' has to be a primitive. At least, I'm not fully clear about it. (For the moment I ignore the barrier, as it looks more like a contract which guarantees some consistency.) I hope my email makes sense... Keiko _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users