[R6RS] cost of letrec* semantics for internal definitions
William D Clinger
will at ccs.neu.edu
Thu Feb 1 18:20:29 EST 2007
> A statically undecidable restriction would be a problem only if we were to
> *require* programs that violate the restrictions to be rejected prior to
> execution. Simply *allowing* programs that violate the restriction to be
> rejected before execution would be sufficient to prevent people from
> considering such programs valid programs for which they can count on
> certain run-time behavior, i.e., exceptions being raised.
I see, but I still do not understand. So far as I can
tell, the 5.92 draft enumerates a small finite set of
circumstances (mainly lexical errors, syntax errors,
references to unbound variables, and assignments to
immutable variables) in which implementations are
allowed or (more often) required to reject a program
prior to execution, but I do not know of anything in
the 5.92 draft that would allow implementations to
reject programs before execution for reasons such as
those we are discussing here.
The 5.91 draft probably didn't either, despite my
misinterpretation of language that no longer appears
within the 5.92 draft. With the 5.92 draft, I can't
find anything I could misinterpret to allow such
pre-execution rejections, much as I would like to.
If you can direct me to the section you have in mind,
I would greatly appreciate it.
More information about the R6RS