[Cuis-dev] nil subclasses (Re: clever or silly idea?)

Martin McClure martin at hand2mouse.com
Thu Jun 13 12:11:25 PDT 2024


I think that one motivation for ProtoObject was to make minimal objects 
that did not break low-level debugging tools -- ProtoObject would 
understand enough messages that inspectors would not break.

This is no longer necessary. The mirror primitives allow one to write an 
inspector that sends no messages to the inspected object until it's sure 
they will be understood. The Cuis inspector looks like it's using the 
mirror primitives, which is good.

IMHO, ProtoObject should be removed.

If debugging tools are carefully written, it's not needed. If debugging 
tools are /not/ carefully written, ProtoObject is not sufficient. 
Example: Pharo. There, ProtoObject has far too many methods (over 50) 
and yet there are not enough methods to make the tools work. In writing 
a forwarding proxy object a couple of years ago, our team found that 
subclasses of ProtoObject would severely break the inspectors, and we 
ended up having to subclass Object.

Regards,
-Martin

On 6/12/24 10:07, Hernán Wilkinson via Cuis-dev wrote:
> I do not remember that exactly, it was done in Squeak 3.x …
> For sure there are mails about it in the squeak mailing list archive
>
> *Hernán Wilkinson
> Agile Software Development, Teaching & Coaching*
> *Phone: +54-011*-4893-2057
> *Twitter: @HernanWilkinson*
> *site: http://www.10Pines.com <http://www.10pines.com/>*
> Address: Alem 896, Floor 6, Buenos Aires, Argentina
>
>
> On Wed, 12 Jun 2024 at 12:46 Andres Valloud via Cuis-dev 
> <cuis-dev at lists.cuis.st> wrote:
>
>     Why is that a goal?  Who decided?  On what basis?
>
>     On 6/12/24 07:06, Hernán Wilkinson via Cuis-dev wrote:
>     > one of the goals of ProtoObject is not to sublass nil
>     -- 
>     Cuis-dev mailing list
>     Cuis-dev at lists.cuis.st
>     https://lists.cuis.st/mailman/listinfo/cuis-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20240613/c6f44a5e/attachment.htm>


More information about the Cuis-dev mailing list