Dynamic namespaces via exceptions

Trygve Reenskaug trygver at ifi.uio.no
Mon May 16 06:29:38 UTC 2005

Avi, Alexandre;

Many thanks for your answers. Just what I needed. There is more to it than 
I first expected. It seems that my simple solution can serve for a 
feasibility study, but needs to be replaced by DynamicBinding later.


At 12:54 14.05.2005, you wrote:
>On 5/14/05, Alexandre Bergel <bergel at iam.unibe.ch> wrote:
> > Hello Trygve,
> >
> > You reproduced the mechanism of Lisp for resolving variable. This means 
> that in Lisp, whenever you write the name of a variable, you do not know 
> statically to which variable you are referring to. Whereas in Scheme, as 
> in Smalltalk, you can statically determine to which variable a name is bound.
>To broadly call this the "Lisp" mechanism is a little misleading: most
>modern lisps are lexically scoped, like Scheme and Smalltalk, not
>dynamically scoped (IIRC, one exception in common use is elisp, the
>language used by emacs).  But yes, the original Lisp was dynamically
>scoped, and it's still common in the Lisp world to use the occasional
>dynamically scoped variable - Scheme usually does this with the
>fluid-let binding form (as opposed to the normal "let", which is a
>lexically scoped binding), and Common Lisp calls these "special
>There's an implementation of this for Squeak on SqueakMap called
>It's a useful construct, and it's rare that I have a project where I
>don't use it at least once (though much more than that doesn't seem
>like a great idea).


Trygve Reenskaug      mailto: trygver at ifi.uio.no
Morgedalsvn. 5A       http://heim.ifi.uio.no/~trygver
N-0378 Oslo           Tel: (+47) 22 49 57 27

More information about the Squeak-dev mailing list