How do you define "object-oriented"?
Stephen Pair
spair at advantive.com
Wed May 1 15:57:45 UTC 2002
> There were some suggestions that a "prereceive" method be
> allowed in ST-76 and -80 -- if present, a flag would be set somewhere
> efficient, and it would be called first with the actual message put
> in a place where it could be received later. This would have allowed
> all of these schemes, delegation, etc., to also be done in the later
> versions of ST. Someone on the list might want to figure out good
> ways to do these schemes in Squeak. Folks like Nathanial Scharli and
> Stephane, who are playing with metasystems, should add these kinds of
> considerations into their play.
Hmm, how about an additional format in the object format field of the
base header with a special method entry in the method dictionary (like a
key of 0 ...it could be called the zero method)? This would allow for a
"prereceive" method for all instances of any given class.
To actually do delegation, you would still need a couple of
primitives/bytecodes that supported a delegated send (where the current
receiver gets propogated to the new method context...so that sends to
the receiver flow back to the original receiver). I think I have a
pretty good implemenation of the basic delegation primitives/bytecodes
(see http://spair.swiki.net/delegation). Of course, a "prereceive"
method would be useful for much more that simple delegation.
- Stephen
More information about the Squeak-dev
mailing list
|