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