On Tue, Mar 31, 2015 at 8:05 PM, Cl��ment Bera <bera.clement@gmail.com> wrote:
Hey Sean,

Now to create a proxy you need to subclass ProtoObject and not nil.


Yes, subclassing from nil was never a good idea.��
��
This was changed years ago to avoid some issues. An example of issue that existed: when you subclass nil, as��
#doesNotUnderstand: is not implemented by default on your proxy, any proxy created receiving a message would crash the VM if you had not overridded #doesNotUnderstand:. Another example is that when you iterate over memory using #nextObject, if the proxy does not answer it you can end with severe VM crashes. In these examples I am talking about the expected VM behavior and not about bugs.


Marea (kind of extended Ghost proxies) proxies deal with object listing. If you load Marea code, see class side of #MARAbstractProxy (#allInstances, #allInstancesDo: etc).��


��
So basically the purpose of ProtoObject was to limit the number of VM crashes when playing with proxies / ProtoObjects, instead having a default behavior for several messages such as #doesNotUnderstand: or nextObject.��

Note that the IDE support for ProtoObject is limited as ProtoObject API is very restricted so it does not have methods such as #inspect, ... That's also on purpose because Proxies may not implement introspection methods.


Yes. Ghost proxies provided debugger facilities (printing, inspecting, debugging, exploring, etc) which could be dynamically either enabled or disabled. If enabled, you could debug proxies without intercepting the "debugging" methods.��
��




2015-03-31 14:53 GMT-07:00 Sean P. DeNigris <sean@clipperadams.com>:

Denis Kudriashov wrote
> http://smalltalkhub.com/#!/~CAR/Ghost/ or http://ss3.gemstone.com/ss/Ghost

Thanks, Denis! I'll check it out. I'm not sure which repo either. Mariano's
commits are all in both places, but there seems to be some parallel
development after that...



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Proxies-Subclassing-nil-tp4816443p4816503.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--