Re: raise should not change continuation
Marc Feeley 12 Aug 2002 14:22 UTC
> Marc> In SRFI 18 the exception handler must be called with the same
> Marc> continuation as "raise" (and consequently the same dynamic
> Marc> environment and exception handler).
>
> Why is this inconsistent? SRFI 34 doesn't specify a behavior
> different from that of SRFI 18. It merely leaves part of the behavior
> unspecified.
No, SRFI 34 says:
(raise obj) Invokes the current exception handler on obj . The
handler is called in the dynamic environment of the call to raise ,
**** except that the current exception handler is that in place for
the call to with-exception-handler that installed the handler being
called. The handler's continuation is otherwise unspecified. ****
According to this, the continuation of the exception handler can't
be the ***same*** as the continuation of raise because the dynamic
environment is different (recall that the dynamic environment is
part of the continuation).
Marc