[racket] raise vs abort

From: Keiko Nakata (keiko at kurims.kyoto-u.ac.jp)
Date: Thu Jan 6 07:32:30 EST 2011

> I don't think you could rebuild the
> missing portion of the continuation by reinstalling it before calling
> the exception handler due to dynamic-wind frames, which could notice
> the exit and re-entry, and continuation barriers, which could prevent
> reinstallation.

Something along this: 

(with-handlers ([(lambda (_) true) (lambda (x) ((car x) (cdr x)))]) 
  (prompt (+ (control f (raise (cons f 3))) 1)))

will not work? 

> (with a prompt handler that calls the continuation handler),

What is a difference between 'prompt handler' and 'continuation handler'?

> I don't think `raise' can be defined via `abort'.

This is something I want to understand, as it is often
said that 'raise' is implementable via 'abort'. I mean,
I want to see how Racket diverges from these conventional view
and, more importantly, why.


Posted on the users mailing list.