[r6rs-discuss] [Formal] preposterous mustard

Michael Sperber sperber at informatik.uni-tuebingen.de
Mon Feb 5 07:18:57 EST 2007


William D Clinger <will at ccs.neu.edu> writes:

> Page 35, specification of letrec*:
>
>   One restriction on letrec* is very important: it must be possible
>   to evaluate each init without assigning or referring to the value
>   the corresponding variable or the variable of any of the bindings
>   that follow it in bindings.
>
> It is undecidable whether there exists an order of evaluation
> for the right hand sides of the bindings that can avoid such
> assignments or references.  The R6RS should permit implementations
> to evaluate expressions in some particular order, without
> requiring implementations to perform an exhaustive search of
> the order-of-evaluation space at run time, complete with the
> overhead necessary to undo any side effects that are performed
> by evaluations that run afoul of the restriction.

I see your point for `letrec', which you describe separately.
However, for `letrec*' order of evaluation is specified.  So the
comment about "exhaustive search of the order-of-evaluation space"
doesn't seem to apply.  Am I missing something?

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla



More information about the r6rs-discuss mailing list