Dynamic Scoping & Context Based Behavior (was: Dynamic scoping)
Stephen Pair
spair at acm.org
Thu Jan 30 18:10:36 UTC 2003
Ah...thanks!
- Stephen
> -----Original Message-----
> From: squeak-dev-bounces at lists.squeakfoundation.org
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] On
> Behalf Of Anthony Hannan
> Sent: Thursday, January 30, 2003 12:56 PM
> To: The general-purpose Squeak developers list
> Subject: Re: Dynamic Scoping & Context Based Behavior (was:
> Dynamic scoping)
>
>
> Hi Stephen,
>
> Your describing perspectives/layers/subject-orientation. See:
>
> [Us] Randall B. Smith and David Ungar. A Simple and Unifying
> Approach to Subjective Objects. Theory and Practice of Object
> Systems 2(3):161-178, 1996.
> http://citeseer.nj.nec.com/smith96simple.html
>
> [PerspectiveS] Robert Hirschfeld and Matthias Wagner.
> PerspectiveS - AspectS with Context. 2002.
> http://www-ia.tu-ilmenau.de/~hirsch/Projects/Squeak/Perspectiv
> eS/Perspec
> tiveS.html
>
> Cheers,
> Anthony
>
> "Stephen Pair" <spair at acm.org> wrote:
> > One of the interesting possibilities that dynamic scoping might
> > present is that it could be used to set a "behavioral context."
> > Currently Squeak has only one global "behavioral
> context"...which is
> > to say that all objects exhibit the same behavior (roughly
> speaking)
> > under all runtime situations in which any given may find itself.
> >
> > With some modification to the message binding algorithm and the
> > structure of object memory, I think you could construct a
> system where
> > objects could exhibit different behaviors when being utilized in
> > different runtime "behavioral contexts."
> >
> > Every object would have some behavior that it exhibits in the global
> > (default) behavioral context. Additionally, you could add behavior
> > (and corresponding state) that an object would only exhibit
> when it is
> > being utilized from within a specific runtime behavioral context.
> >
> > A real world analogy is that people, when in different
> contexts, often
> > exhibit different behavior.
> >
> > A good example is a domain object that exhibits GUI
> rendering behavior
> > when utilized in the "Morphic" behavioral context. Upon first
> > utilization in the Morphic context, the object would adopt the
> > rendering behavior and state that you had previously
> defined for all
> > objects of its class. This would eliminate the need to have two
> > separate objects for the model and the view, yet still have
> all of the
> > benefits of model-view separation. Furthermore, if you had
> different
> > morphic applications for which different renderings were
> required for
> > the same domain object, each application could define its own
> > behavioral context (which would each inherit from the Morphic
> > context). Method lookup would first look for methods in
> the specific
> > behavioral context, and then follow an inheritance chain of
> behavioral
> > contexts, with the global default behavioral context being
> the root of
> > this heirarchy.
> >
> > - Stephen
>
>
More information about the Squeak-dev
mailing list
|