Hello, "Neil Jerram" <[EMAIL PROTECTED]> writes:
> 2008/7/11 Kjetil S. Matheussen <[EMAIL PROTECTED]>: >> >> On Fri, 11 Jul 2008, Kjetil S. Matheussen wrote: >> >>> Ludovic Court?s: >>> > >>> > guile> ((lambda (a b) (the-environment)) 2 3) >>> > (((a b) 2 3) #<eval-closure b7c6dcf8>) >>> > >>> > But don't do that, since the representation of environments could >>> > eventually change. > >> Sorry, I misunderstood. What I ment is that (the-environment) >> etc. is what makes Guile special. I hope there is no >> plans to remove all that. > > I agree. I can't see a reason why we might want to remove > `the-environment' and `local-eval', even if Guile's internal > representation of environments changes, because the ideas that there > _is_ a lexical environment inside a lambda (or a let ...), and that > one can evaluate with respect to these environments, are absolutely > fundamental in Scheme. Agreed. I just said the *representation* of closures could change. (Besides, keep in mind that `the-environment' et al. aren't documented...) > On the other hand, it would be unsafe (w.r.t. the future) to write > code that depends on the current representation. If you find yourself > doing that, better to ask for an official abstraction of whatever > you're trying to do. (And even better to provide a patch for it!) Agreed. Thanks, Ludovic.