William D Clinger
will at ccs.neu.edu
Sun Aug 20 09:36:06 EDT 2006
> In many Scheme systems, this program produces different results
> depending on whether the `begin' is there or not, despite the R5RS
> saying that it must not matter.
With the R5RS semantics of programs as presented in
section 7.2, that program is an infinite loop that
increments x until the bignum range overflows or
the program runs out of memory or (more realistic)
the universe comes to an end.
If you are seeing a different result, it is probably
because calls (or returns, which amount to the same
thing) to a read/eval/print loop are being inserted
between the forms. This is an artifact of the top
level that the R5RS does not attempt to specify.
I would like to require that library bodies have the
semantics presented in R5RS 7.2. I would also like,
however, to leave the continuation of the library
initialization unspecified, which is the analogue
of leaving an R5RS program's continuation unspecified,
which is analogous (in some top-level read/eval/print
loops) to leaving the continuation of a top-level form
More information about the R6RS