[plt-scheme] letrec

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Nov 2 20:48:09 EST 2002

On Oct 30, Lauri Alanko wrote:
> Actually, according to R5RS it should be:
> [...]
> I just noticed that mzscheme seems to do it the simple way, though,
> assigning to some of the variables before all initializers are
> evaluated. Could this be changed? In addition to following R5RS to
> the letter, the form with temporary variables is better at catching
> unportable uses of letrec that depend on a particular ordering of
> assignments.

AFAICT, since the manual specifically says:

  MzScheme's letrec form guarantees sequential left-to-right
  evaluation of the binding expressions.

there is little point in taking the ordering for anything.

(And I personally like it better this way than getting back to the
letrec* days...)

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

Posted on the users mailing list.