[squeak-dev] Stripper and/or Whittler for Squeak

tim Rowledge tim at rowledge.org
Tue Jan 3 23:23:14 UTC 2023


I'm not sure how much attention anyone ends up paying to the message protocols lists in the browser. And indeed, that might be a side-effect of the way that some of those lists are, as you mention, pretty long. Some of it is likely due to the list-filtering UI capability we have as well.

It is certainly an interesting problem as to how one might make the protocol lists simpler. Part of the problem is that we still need tools to manage the contents of packages, and to keep some compatibility. I suppose one could make the browser examine any protocols starting with * and display any contained methods in a protocol of the "same name minus package cruft", assuming that the class has one. But after that, how would we know that the method belongs in a package other than the one for the class? Tools are hard to make well.

> On 2023-01-03, at 3:10 PM, Stephen Travis Pope <stephen at heaveneverywhere.com> wrote:
> 
> 
> Well I guess if nobody else is bothered by the bloat and chaos in the protocols — and the impact these have on the learnability of the system -- I’m not going to take it on real soon…
> 
> stp
> 
> --------
> 
> Stephen Travis Pope    Ojai, California, USA
>     <pastedGraphic.tiff>
>      http://HeavenEverywhere.com
>      http://FASTLabInc.com
>      https://vimeo.com/user19434036/videos
>      http://heaveneverywhere.com/Reflections
> 
> 
> 
>> On Jan 1, 2023, at 5:51 PM, tim Rowledge <tim at rowledge.org> wrote:
>> 
>> And... a test of that shows that we're almsot ther but, for example, LeafNode>>#key: exisats in both *Etoys-Squeakland-Tweak-Kedama and Compiler-ParseNodes for some reason. With it removed, we can't open a debugger. :-O
>> 
>> 
>>> On 2023-01-01, at 3:50 PM, tim Rowledge <tim at rowledge.org> wrote:
>>> 
>>> The expectation (not completely met) is that simply removing the packages will work. Last time I tried it *almost* worked to remove EToys, for example. Reducing inter-package dependencies can be time consuming and it is so very easy to accidentally (re)add one.
>>> 
>>> You can try removing packages by 
>>> opening a Monticello Browser
>>> selecting the package
>>> menu 'unload'
>>> wait...
>>> hope...
>>> 
>>>> On 2023-01-01, at 1:12 PM, Stephen Travis Pope <stephen at heaveneverywhere.com> wrote:
>>>> 
>>>> 
>>>> Hi Squeakers!
>>>> 
>>>> In the olden days of ParcPlace, we had 2 tools for “pruning” images: a Stripper could be configures to remove unused classes from an image (e.g., Dev tools, PostScript output) while aWhittler identified unused methods in classes that were being kept (like the package-specific method categories in the system classes as well).
>>> 
>>> tim
>>> --
>>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>> Fractured Idiom:- MERCI RIEN - Thanks for nothin'.
>>> 
>>> 
>> 
>> 
>> tim
>> --
>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>> ..... REALITY.SYS Corrupted - Unable to recover Universe
>> 
>> 
>> 
>> 
>> 
> 
> 


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Never write software that patronizes the user.




More information about the Squeak-dev mailing list