[self-interest] parent slot lookups
Jecel Assumpcao Jr
jecel at merlintec.com
Mon Apr 7 22:59:16 UTC 2003
On Sunday 06 April 2003 02:26, Steve Dekorte wrote:
> When Self follows an inheritance chain, will it activate methods in
> parent slots? That is, if set an Object to have a parent slot
> containing a method(instead of another object) that returns the
> object that I want to lookup to continue in, will it work?
Dave has already answered "no", but I would like to consider the
practical complications of such a scheme.
Does the method take any arguments? If so, when invoked from the lookup
routine instead of a regular program then what will that argument be?
If not, then won't the method always reply the same object (same thing
as a data slot)?
You might think that a no argument method can return different values
since it can send further messages (which is correct) but then you run
into a different problem: what if these further messages also need
lookup via the very "parent method" we are trying to evaluate?
And all this supposing that each object has a single parent data/method
slot. With multiple parents there will be a fantastic number of ways
that things can be combined and it will nearly always be impossible to
understand what is going on.
A far better way to organize things is to create a proper reflective
layer. See CoDA for Smalltalk as an example in which seven different
kinds of meta-objects allow you to change any aspect of message passing
and inheritance in a modular and understandable way:
http://web.yl.is.s.u-tokyo.ac.jp/~jeff/research/coda.html
-- Jecel
P.S.: thanks for the "naked objects" link - it is actually more similar
to the eToys viewers in Squeak than outliners in Self
More information about the Self-interest
mailing list