On Thu, Jan 6, 2011 at 7:18 AM, Keiko Nakata <ke...@kurims.kyoto-u.ac.jp> wrote: >> 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.
It can be implemented in terms of continuation marks (if you know the key for exception handlers). > 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