Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!agate!trib.apple.com!amd!amdint.amd.com!txnews.amd.com!news
From: charles.herrick@amd.com
Subject: Delegation in Smalltalk (was: a cute hack -- delegation after doesNotUnderstand 
Message-ID: <Cw89v4.Mo9@txnews.amd.com>
Sender: news@txnews.amd.com
Nntp-Posting-Host: aunext1
Reply-To: charles.herrick@amd.com
Organization: Advanced Micro Devices, Austin, TX, USA
References: <HULTQUIS.94Sep15140936@wk206.nas.nasa.gov>
Date: Fri, 16 Sep 1994 15:04:14 GMT
Lines: 35

In article <HULTQUIS.94Sep15140936@wk206.nas.nasa.gov> hultquis@nas.nasa.gov  
(Jeff P. M. Hultquist) writes:
..
> We recently changed the method for doesNotUnderstand so
> that, before calling the debugger, it first checks if the
> receiving instance can provide us with one or more
> "delegate instances" which should receive the original
> method in its place.  If a delegate *is* provided, the
> system sends the original message to that object and the
> execution continues unimpeded.
..
> and perhaps so that
> someone might inform *me* of prior use of this technique
> or related uses of the doesNotUnderstand method.

I believe Servio GemStone uses override of doesNotUnderstand: to get
messages across the two-space...
And (my memory fades here, take this with a grain of salt), 
doesn't the Smalltalk I'face to ISIS (RDO: Reliable Distributed Objects)
use override of doesNotUnderstand: to get messages across the wire?

Also, in an application on which I worked, we implemented
delegation, but chose to code the check for non-nil'ness
in the methods you want (potentially) delegated instead.

This has the disadvantage of not being ubiquitous, but
the advantage of being deliberate. In other words, the
builder of an object chooses which methods will be delegatable
and which will not.

This deliberate version of delegation more closely parallels
the implementation of Delegation in NeXT's Objective-C
model.
--
personal opinions
