Hey Sean, Now to create a proxy you need to subclass ProtoObject and not nil. 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. 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. 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.