[racket] Dynamic scope

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Jun 23 18:04:05 EDT 2011

Yesterday, Jay McCarthy wrote:
> You probably want something like parameters.
> 
> You could make a language with dynamic scope if you really wanted it
> though.  You would capture variable accesses with #%top and friends.
> Or you could just redefine binding/setting forms to use
> parameters/globals+fluid-let.

I have such a language (obviously) for my class -- it's not difficult
to do, but the resulting language is (obviously) an extremely bad
one...

(What people *probably* want is something like CL, where you can
declare a specific variable as special -- and then when you use it in
a `let' or as a function argument, that binding is done dynamically.
Doable too, probably, but little point IMO.)

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


Posted on the users mailing list.