Subject: Re: Dr. Scheme "local"?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 2000/06/23
Newsgroups: comp.lang.scheme
Message-ID: <8iueie$1orbg$1@fido.engr.sgi.com>
felix <felix@anu.ie> wrote:
+---------------
| brlspam@sperience.com wrote in message ...
| >Tell me if you can predict what the value of the following expression
| >is, then we'll talk about what is and isn't well-known.
| >
| >(let ()
| >  (define x 1)
| >  (define y (+ x 1))
| >  y)
| 
| The value of this expression is not clearly defined.
+---------------

Specifically, since the above is just [R5RS 5.2.2] syntactic sugar for:

   (let ()
     (letrec ((x 1)
	      (y ((+ x 1))))
       y))

...it violates the R5RS restrictions (4.2.2, 5.2.2) on assigning or
referencing variables bound with "letrec" during the evaluation of
the initial value.


-Rob

-----
Rob Warnock, 41L-955		rpw3@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043