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