[R6RS] Multiple-value unspecifiedness

William D Clinger will at ccs.neu.edu
Sat Jul 29 09:23:22 EDT 2006


In case my previous message was insufficiently
specific, please consider the following.

So far as I know, the R6RS does not forbid a crash
during the execution of (+ 1 1).

Before you dismiss this example as ridiculous, please
consider the possibility that the execution occurs on
a 32-bit, byte-addressable machine, that four gigabytes
or so are already in use, that the + procedure needs to
allocate a 16-byte stack frame so it can call fixnum+,
and there just aren't that many bytes available.

If we can craft a general statement that guarantees
(+ 1 1) will not crash, then I believe that general
statement, or a very slight revision of it, will also
cover virtually every other case we can think of,
including multiple values.

Instead of sprinkling prohibitions against crashing
throughout the R6RS, where they will look odd and
detract from readability, I think we should try to
craft the general statement.

Will



More information about the R6RS mailing list