[squeak-dev] Shout (was: Re: 'color print' option no longer works)

Colin Putney cputney at wiresong.ca
Sun Aug 16 03:34:23 UTC 2009


On 15-Aug-09, at 12:18 PM, Andreas Raab wrote:

> The problem appears to be that Eliot has been using Shout for  
> formatting / displaying colorized Smalltalk code. Which makes good  
> sense since it avoids code duplication and gives us more options on  
> customizing the result.
>
> But it does lead to the same question that I raised earlier: Should  
> we include Shout by default? It is small, it gives us syntax  
> highlighting, prettty printing and other advantages. I would be  
> propose to trade services for it to keep the core image small and to  
> the point, but that's just my opinion.
>
> Comments welcome.

I have a few thoughts.

One, lets not conflate these two issues. Including Shout is unrelated  
to removing Services; either could be done without the other. Let the  
two proposals stand or fall based on their merits.

Two, removing Services sounds like a good plan. For services to be  
really worthwhile, lots of other stuff would have to be rewritten to  
use them. That hasn't happened, and it looks like it never will.  
Services should be easy to make into a loadable package, so if any  
other packages out there happen to use it, they can keep doing so.

Three, I'm a little ambivalent about Shout. Syntax coloring is cool,  
but it seems to sink its tentacles fairly deeply into Morphic.  
Understandable, given that it must respond to every keystroke. I'm in  
the middle of reworking the Shout support in OmniBrower, to break the  
dependency it introduces between the Smalltalk domain model and  
Morphic. These aren't really show-stoppers, but they make me think  
that it would be better to keep Shout as a separate package, with  
really clear boundaries. Maybe someone who knows Shout better could  
convince me otherwise, or come up with a way to have Shout in the  
kernel image that would keep it separate from the default toolset,  
available to alternate toolsets such as OmniBrowser, and easily  
unloadable.

Finally, we ought to have some sort of policy or philosophy for  
deciding what is included in the base image. Are we still trying to  
create a minimal image that can be bootstrapped up to a more complete  
image? Are "extras" eligible for inclusion if they have broad enough  
appeal?

Colin



More information about the Squeak-dev mailing list