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

Taeumel, Marcel Marcel.Taeumel at hpi.de
Wed Jan 4 16:17:52 UTC 2023


Hi all --

It is good style to append the actual protocol name to the package name. That is, "*Etoys-Squeakland-accessing" is more organized than "*Etoys-Squeakland".

It is important for the programmer to realize that using a message from, for example, "*Etoys-Squeakland-accessing" entails a dependency to the Etoys(-Squeakland) package. Therefore, it would make things more complicated if we would (visually) merge package-specific protocols into base protocols such as "*Etoys-Squeakland-accessing" into "accessing". Take #x and #y compared to #left and #top. Two different coordinate systems (not just a different name); the former from Etoys, the latter from base Morphic.

An arbitrary metric like "not more than 1000 classes" or "no visible scroll bars" is not a good metric (or goal) to clean up the system and move forward in a meaningful way. As Tim suggested, more work needs to be done in understanding what is there from Etoys lurking in the base system and how the base system depends on Etoys-specific stuff. After untangling that stuff, we might consider unloading the Etoys package. I am still willing to invest more time into that.

@Stephen: For a more recent approach similar to Stripper/Whittler, maybe take a look at what Craig does with Caffeine: https://thiscontext.com/2019/03/25/the-big-shake-out/ --- Turns out that it is not that easy to identify unused code and keep the system as robust as it was before. When is a utility method not used anymore? If you do not need it in your workspace? If nobody does? Who decides? :-)

Best,
Marcel

Am 04.01.2023 16:26:28 schrieb Stephen Travis Pope <stephen at heaveneverywhere.com>:

Great idea!
In fact, many of the ‘*’ protocols have the old names appended, as in,

*Etoys-Squeakland-accessing
*System-Recovery-error handling

but just as many don’t, as in,

*Morphic
*monticello

It’d be a step in the right direction to have the browser merge the first group into the “base” protocol.

stp

--------

Stephen Travis Pope    Ojai, California, USA
    pastedGraphic.tiff<cid:55B397C7-3D20-4E60-A051-4564245235A7 at sd.cox.net>
     http://HeavenEverywhere.com
     http://FASTLabInc.com
     https://vimeo.com/user19434036/videos
     http://heaveneverywhere.com/Reflections



On Jan 3, 2023, at 7:33 PM, Chris Muller <asqueaker at gmail.com> wrote:

Hi,

Re: “I'm not sure how much attention anyone ends up paying to the message protocols lists in the browser.”

If we used them as-intended, to categorize methods according to function (e.g., accessing, printing, instance creation, etc.), it would make finding things much easier!

I don't know whether everyone is already aware of this, or whether it'd even be helpful at all -- but for the *packagename categories, it is allowed for them to be merely *prefixed* with the package name.  *packagename-accessing and *packagename-testing will both be identified as belonging to the package whose prefix matches that name.

Then, it'd be possible with "Filterable Lists" enabled, to simply type "acc" in the categories pane to show all just the "accessing" protocols, albeit, broken out by package (maybe IDE enhancement could compress them into one, but then how to move extensions between packages..).  Not perfect, but can be done with the IDE today.

 - Chris



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230104/cba66a99/attachment.html>


More information about the Squeak-dev mailing list