[R6RS] Semantics of `raise'
Michael Sperber
sperber at informatik.uni-tuebingen.de
Mon Mar 6 04:50:14 EST 2006
This is mainly a note for Will, but others are welcome to jump in.
This is a note on a corner of the exception system.
I'm acting on the assumption that something like `raise' and
`with-exception-handler' similar to what's in SRFI 34 will end up in
R6RS. (That assumption may be false. I don't want to imply that I
regard anything as settled here.) Currently, `raise' is described as
follows:
(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.
>From earlier discussions long ago, I remember that my impression was
that you (Will, that is) would like something like `raise' and
`with-exception-handler', but with a tightened-up specification of
`raise', that might go as follows:
(raise obj)
Invokes the current exception handler on obj. The handler is called
with a continuation that is equivalent to the continuation of the
call to `raise', except for the current exception handler of its
dynamic environment, which is that in place for the call to
`with-exception-handler' that installed the handler being called.
Is that impression correct?
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the R6RS
mailing list