Re: pTk for guile?

Paul Prescod (papresco@calum.csclub.uwaterloo.ca)
Wed, 09 Apr 1997 15:01:28 -0400

Jim Blandy wrote:
>
> People are getting loose with terminology here. The scoping isn't the
> issue. The problem is that CONS is just an ordinary variable whose
> value happens to be our favorite function. The compiler must prove
> that no other code will change the value of CONS before it may make
> assumptions about its contents.

Right, and this would be easy if Scheme had complete lexical scoping.
Consider:

(let ((foo (lambda () ...)))
(... stuff ...
(foo 'bar)))

Now how can foo be changed before bar without an explicit and obvious
"let" or "set!"? This function can be called 100 times and foo will
always have the same value, no matter what happens outside of it. Isn't
it the exception to lexical scoping at the top level environment that
allows the value of "cons" to change between one execution of a function
and another?

Paul Prescod