Subjective Squeak

Anthony Hannan ajh18 at cornell.edu
Tue Dec 10 20:26:24 UTC 2002


Hello Squeakers,

What do you guys think of adding subjective layers a la PerspecitveS,
Us, PIE, to the Squeak kernel (part of method lookup)?  Beside adding
the power of context sensitivity, layers would also serve as packages in
the image.  I really think layers will improve our package model in the
image, particularly with respect to dependencies, versions, and
unloading capabilities.  Dependents would be layers underneath; versions
would be single layers on top; and unloading/loading would be automatic
just by switching layers/perspectives.

I prefer Us's extra lookup dimension over PerspectiveS's method wrapper
dimension, because I think it's a more directly implementation of the
concept.  With the method cache (and eventually the inlining JIT
compiler), the extra lookup dimension should not slow things down
significantly.

The layers I would like to implement would be different from Us's in the
following ways:
(1) Layers would be multiply inherited instead of singly inherited.
(2) Layer lookup points would be explicit named variables, not implicit
in every slot.  For example, in 'World color': #World would be looked up
in the layer hierachy, as well as #PasteUpMorph and its superclasses,
but the 'color' slot would not be looked up in the layer hierachy; it
would just be gotten from the object like it is today.  So, unless
#World is overridden in a layer, or #PasteUpMorph or #Morph is overriden
in a layer with a different behavior for #color, you will get the same
original color value.  PerspectiveS also takes this approach of only
layering behaviors not slots.

For more info on my design, please check out my Projects section on my
webpage at http://minnow.cc.gatech.edu/squeak/AnthonyHannan.  Also,
check out the Us paper at http://citeseer.nj.nec.com/smith96simple.html,
and the PerspectiveS paper at
http://www.prakinf.tu-ilmenau.de/~hirsch/Projects/Squeak/PerspectiveS.

I you guys like this, I will start working on it for the next version of
VI4.  Of course, I would appreciate any volunteers to help.

Thanks,
Anthony



More information about the Squeak-dev mailing list