[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