On Mar 26, 2010, at 6:12 PM, Eliot Miranda wrote:

> 
> Perhaps we can be cleverer.  What could we do if we introduced delegation 
> into the language?  Then we can add wrappers around objects and put the 
> interception into the wrappers.  This way there is no additional check.  If 
> one wants to intercept references to an object one creates a DNU wrapper and 
> becomes the two objects.
> 
> An execution model of delegation is that there are two slots for the receiver 
> in a context, a state slot through which inst vars are accessed, and a self 
> slot to which messages are sent.  Normal sends merely duplicate the receiver 
> into both slots.  Delegating sends take state as an additional argument.
> 
> An alternative model is to dispense with direct inst var access (assuming the 
> JIT will inline simple accessors in PICs, or simply by virtue of the use of 
> machine code render accessors affordable) and provide accessors for 
> delegators that indirect through the delegate.
> 

Yes, that would be interesting to look at. 

        Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to