[Vm-dev] Re: [Pharo-dev] Proxy DNU vs CannotInterpret. (Ghost related)

Andres Valloud avalloud at smalltalk.comcastbiz.net
Sat Mar 26 04:06:15 UTC 2016


On 3/25/16 18:53 , Eliot Miranda wrote:
> Hi Andres,
>
> On Thu, Mar 24, 2016 at 11:20 PM, Andres Valloud
> <avalloud at smalltalk.comcastbiz.net
> <mailto:avalloud at smalltalk.comcastbiz.net>> wrote:
>
>
>         It's there to avoid crashes when people implement proxy classes and
>         Instantiate before remembering to implement doesNotUnderstand: (a
>         recursive doesNotUnderstand: causes the VM to exit).
>
>
>     Strange.  The VM knows plenty of objects that could arguably
>     understand a message such as
>
>     object: anObject doesNotUnderstand: aMessage
>
>
> What's to stop someone deleting, say, Context>>object:doesNotUnderstand:
> ?  At some point there has to be a message handler.  Why bother
> complicating things by allowing there to be no doesNotUnderstand: ?

To me, the case of omitting a method in a new subclass of nil seems 
different enough from the case of deleting a method from Context to 
warrant a different outcome.  We can already see that omission of 
doesNotUnderstand: has already led to the creation of classes such as 
ProtoObject, i.e. extra complexity.

Andres.


More information about the Vm-dev mailing list