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

Re: raise should not change continuation

This page is part of the web mail archives of SRFI 34 from before July 7th, 2015. The new archives for SRFI 34 contain all messages, not just those from before July 7th, 2015.

> 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).