Dynamic scoping (was: Proposal: Squeak-E = Squeak x Kernel-E)

Avi Bryant avi at beta4.com
Mon Jan 27 19:59:53 UTC 2003


On Mon, 27 Jan 2003, Stephen Pair wrote:

> Avi Bryant wrote:
>
> > On Mon, 27 Jan 2003, Stephen Pair wrote:
> >
> > > Have you looked at RuntimeEnvironments (on SqueakMap)?  They
> > > accomplish the same effect, but they are cleaner than using
> > > exceptions...
> >
> > By whose definition of cleaner? ;)
>
> Well, I consider "Env at: #world" to be more clear about the intent than
> "MyWorldEnvironment signal" or similar...don't you?  I think you are
> looking at the implementation.

Well, yeah. :) I thought that's what you meant.  Obviously there's no
reason you can't have the same interface to both implementation
approaches.  I currently use an exception based dynamic scope that looks
like


DynamicContext bind: #foo to: 42 during:
  [
    self assert: #foo dynamicValue = 42
  ]

self assert: #foo dynamicValue isNil.

But whatever, interface is easy to change.

> I agree that the runtime environment should be inter-woven in the
> context stack.  I'm actually working on that change right now.

Cool.




More information about the Squeak-dev mailing list