[R6RS] Semantics of `raise'
Michael Sperber
sperber at informatik.uni-tuebingen.de
Mon Mar 13 11:16:03 EST 2006
Here's what I currently take to be the result of our discussion on the
semantics of `raise':
(raise obj)
Raises a non-continuable exception by invoking the current
exception handler on obj. The handler is called with a continuation
whose dynamic environment is that of the call to `raise', except
that the current exception handler is the one that was in place for
the call to `with-exception-handler' that installed the handler
being called. The continuation of the handler will raise a
non-continuable `&non-continuable' exception.
(raise-continuable obj)
Raises a continuable exception by invoking the current exception
handler on obj. The handler is called with a continuation that is
equivalent to the continuation of the call to `raise-continuable'
with the exception of the the current exception handler, which is
the one that was in place for the call to `with-exception-handler'
that installed the handler being called.
Both versions are consistent with the specification of `raise' in SRFI
34, but nail down the unspecified part in different ways. The
definition of `raise' here is essentially the variant suggested by the
reference implementation supplied with SRFI 34.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the R6RS
mailing list