Also consider:
(let ((x 10))
(display "the result is: ")
(display x)
(define x 42))
(newline))
I believe the result here should be undefined - but *not* 10.
In Kawa (which implements 245 and does some flow analysis) you get:
the result is: 42
Howver, if you replaced '42' by the non-constant '(list 42)' you get:
the result is: #!undefined
In both cases you get a compile-time warning:
x.scm:3:12: warning - variable 'x' may be uninitialized here
--
--Per Bothner
xxxxxx@bothner.com http://per.bothner.com/