MonticelloPackageBrowser

Andreas Raab andreas.raab at gmx.de
Sun May 22 17:44:21 UTC 2005


Hi Alexandre -

Some comments. First off, it would be useful if the web site could say 
more about the motivation behind your approach. The description of the 
current situation seems like nit-picking to me - it would be fairly 
straightforward to add support for PI conventions to the browsers, or 
making moving methods or renaming packages one-click exercises (if the 
issues you list would really bother me -which they don't- and I expect 
the same is true for many other MC users). But clearly, this is not 
enough to motivate a new package system so some information on why you 
feel this is necessary would be nice.

The issue that bothers me most about what I've seen so far from your 
approach is your idea of "making the naming convention irrelevant". 
While I agree that the category-prefix convention for classes may not be 
the best (though it is hard to beat in terms of convenience), the naming 
convention for extensions serves far more than just the need of 
classifying some method as belonging to a particular package. It is that 
extra information that is crucially lacking from your approach as far as 
I can see. Example for such information include:

* Which packages have modified this class? With the extensive use of 
Monticello in Tweak it has turned out that classes with many extensions 
often need redesign - the extensions are a sign that it is used in a 
different way from which it was originally designed and that the new use
should be factored into the design.

* Is method #foo an extension method? This is critical to know because 
one might accidentally use a pet method of some other package (say, 
Collection>>gather: which is defined by package info) that will not be 
present in the long term.

Right now, the naming convention gives us straightforward answers to 
these questions but they seem very hard to derive from your current 
browser design. I think it would be useful if there were at least a way 
of showing pseudo-categories of some sort that make this information 
explicit.

Cheers,
   - Andreas

Alexandre Bergel wrote:
> Hello,
> 
> I have been working on a new package model for Squeak. The implementation comes with a browser based on OmniBrowser. This last version is quite usuable. I use it for all the squeak projects I have. The webpage (containing a screenshot) is http://kilana.unibe.ch/monticellopackagebrowser/
> 
> If you are interested in having a better package unit, or in modularization issues, then you can contribute by giving me feedbacks.
> 
> 
> 1-Description
> A new package system coming with a new package browser intended to substitute PackageInfo and the old package browser.
> 
> Once loaded, execute "Package bootstrap". This is necessary to built some packages from the classes present in the system.
> 
> One does not need to rely on naming convention such as "*mypackage" to define class extension for instance. Moreover, operation like renaming can be performed.
> More info on: http://kilana.unibe.ch/monticellopackagebrowser/
> 
> 2-What is new in the last version
> Some new features were added to version 28:
> -When a package is stored, the old monticello naming convensions are used. This means that you can manage your application with the MonticelloPackageBrowser without risking loosing track for people who does not use this new browser.
> -Faster rendering, especially for the class extension.
> -Better menu arrangement. 
> -Some bug are fixed (e.g., browsing metaclasses of extended classes, ...)
> 
> Cheers,
> Alexandre
> 




More information about the Squeak-dev mailing list