[plt-scheme] to define, or to let

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Mar 20 12:21:45 EST 2004

On Mar 20, Richard C. Cobbe wrote:
> (letrec ((a E1)
>          (b E2))
>   E3)
> where E1, E2, and E3 are arbitrary expressions.
> R5RS states that evaluating E1 cannot require the value of b, and
> that evaluating E2 cannot require the value of a.  If such
> dependencies exist, the results are undefined.  (It's entirely
> possible that MzScheme does define the results in this case; I don't
> remember, and I'm in the middle of rebuilding DrScheme so I can't
> check the helpdesk.)

It does allow E2 to depend on a's value.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.