[R6RS] Timeline for R6RS SRFIs

feeley at iro.umontreal.ca feeley
Thu Jun 2 07:56:12 EDT 2005

Quoting Michael Sperber <sperber at informatik.uni-tuebingen.de>:

> If you look at the specification of GUARD in SRFI 34, you'll see:
> 34> That implicit cond expression is evaluated with the continuation and
> 34> dynamic environment of the guard expression.
> So indeed you'll get the semantics you expect---I conjecture the
> combination of RAISE and GUARD in SRFI 34 is exactly what you're
> asking for.

I stand corrected.  I was confused by the parts:

   (guard ( <var> <clause1 > <clause2 > ...) <body>) (syntax) 

   Semantics: ... If every <clause>'s <test> evaluates to false and
   there is no else clause, then raise is re-invoked on the raised
   object *** within the dynamic environment of the original call to
   raise *** except that the current exception handler is that of the
   guard expression.

   (raise 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.

What I'm suggesting (droping with-exception-handler) would make those
parts irrelevant and would clean up the semantics.


This mail sent through IMP: http://horde.org/imp/

More information about the R6RS mailing list