[R6RS] draft statement on safety

William D Clinger will at ccs.neu.edu
Wed Aug 9 11:05:01 EDT 2006

Mike wrote:
> I'm still wondering what this statement says about the possible
> behaviors of ((lambda (x) x) (values 1 2)).  Since it won't be covered
> by the semantics, it seems we're saying it must raise an exception.

I don't see why you would draw that conclusion.

The value of (->inexact 1/3) isn't nailed down by
the semantics either, but no one should conclude
that (->inexact 1/3) must raise an exception.

> But that surely wasn't the intention, right?

That wasn't my intention.

I thought we had agreed it might/may/should
raise an exception (and I'm okay with any of
those choices) and had also agreed not to say
it must raise an exception.

If the people who are writing the operational
semantics are wondering how to express this
kind of thing, I would suggest they use
(parameterized) stuck states, and add a note
explaining that implementations are free to
add transitions for such states that preserve
the safety constraints of section whatever.


More information about the R6RS mailing list