Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!gem.mps.ohio-state.edu!tut.cis.ohio-state.edu!brutus.cs.uiuc.edu!apple!bnfb
From: bnfb@Apple.COM (Bjorn Freeman-Benson)
Newsgroups: comp.lang.smalltalk
Subject: Re: Tracking Interaction Histories
Message-ID: <34138@apple.Apple.COM>
Date: 19 Aug 89 04:25:46 GMT
References: <56231@aerospace.AERO.ORG> <56248@aerospace.AERO.ORG>
Organization: Apple Computer Inc, Cupertino, CA
Lines: 22

In article <56248@aerospace.AERO.ORG> (Russell J. Abbott) writes:
> ...
>objects messages to be passed on to the variable's referent.  But in
>order for the variable to be able to do that it has to have built into
>it selectors for all the possible calls it's referents may ever receive,

You can do this by reimplementing 
    doesNotUnderstand: aMessage
for your Variable class.  When an object gets sent a message that it
does not have a method for, it calls this routine.  The default
behavior (in Object) is to put up an error notification.  For your
Variable class, the method would be:
    doesNotUnderstand: aMessage
	^referent perform: aMessage selector withArguments: aMessage arguments

And then, of course, you get into the problem of "the name of a
thing" versing itself".  When you send "getReferent" to the Variable
it handles the message.  But what if you wanted to send
"getReferent" to the Variable's referent?  Arg.

But, that's a seperate problem...
Bjorn N. Freeman-Benson