[squeak-dev] Tracing proxies

Chris Muller asqueaker at gmail.com
Thu May 26 14:14:22 UTC 2011


> IMHO #chasePointers and #explorePointers should be moved to the Tools
> package. The rest can be moved to ProtoObject, ...

Ok, I'll do that sometime soon.

> ... but it's unnecessary. Proxy
> implementations should use Igor's stratified proxies
> (http://code.google.com/p/pharo/issues/detail?id=3648 ) instead of
> subclassing ProtoObject. IMHO we should integrated them to Squeak.

I don't know what a "stratified" proxy is, but a brief look at that
code looks very interesting!  So, by nil'ing out the methodDictionary,
it ensures that object gets first chance to "handle" every message,
even if it is already implemented in Object.

If so, that's very nicely elegant.  At first, I was hoping this
approach would allow Magma a chance to handle the problem of passing a
proxy to a primitive, rather than the user having to send a #yourself,
but it doesn't look like it would help for that.

Is there any practical advantage to stratified proxies over standard
proxies which inherit from ProtoObject, or is it just more elegant?

thanks..



More information about the Squeak-dev mailing list