How about... something completely different? (Re: [squeak-dev]
Re: On traits composition)
Colin Putney
cputney at wiresong.ca
Wed Dec 9 06:11:02 UTC 2009
On 8-Dec-09, at 2:24 PM, Göran Krampe wrote:
> I have always thought that having better mechanisms for delegation
> would be awesome, and would in most ways be much more powerful than
> inheritance (in whichever form).
>
> For example, what if one could declare that for class Foo (having
> ivars x, y, z) any message that would result in a DNU would instead
> be "delegated" to ivar x (and then y if no lookup is found in x
> either).
Lately, I've been thinking that it would be useful to have a
delegation operator. For the sake argument, let's use backtick, since
it's not used in Smalltalk. The operator could be applied to the
receiver in a message send, like this:
`anObject doSomething
This would cause the #doSomething message to behave like a super send.
The selector #doSomething would be dispatched with respect to
anObject, but the method would be executed with the sender as the
receiver.
I'm not sure what patterns of composition would emerge in a langauge
that supported it, but it seems like the simplest way to allow one
object to delegate to another object without inheriting from it.
Colin
More information about the Squeak-dev
mailing list
|