[R6RS] safe and unsafe; declarations

William D Clinger will at ccs.neu.edu
Fri Mar 3 19:32:40 EST 2006

I wrote:
> The R6RS will also specify how exceptions are handled in
> safe mode.

By that, I meant that the R6RS will specify the mechanism
and the default handlers.  Programs will be able to use
their own handlers as specfied by that mechanism.

I wrote:
> "Anything within the dynamic extent of expressions within
> the scope of an unsafe declaration is allowed to do
> something completely unspecified whenever the R6RS would
> allow the implementation to raise an exception in safe mode."

Even that wasn't bad enough.  The damage done by unsafe
mode is not restricted to the dynamic extent of unsafe
mode.  Once the system invariants are broken, even safe
code outside of the dynamic extent may break for no good
reason.  And so, all bets are off:

"Anything whatsoever is allowed to do anything whatsoever
once unsafe code has created a situation in which the R6RS
would allow the implementation to raise an exception."


More information about the R6RS mailing list