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