[Cuis-dev] Browser class hierarchy & functionality

Juan Vuletich juan at jvuletich.org
Sat Nov 2 10:35:48 PDT 2019

On 10/29/2019 2:17 PM, Phil B via Cuis-dev wrote:
> I was looking into adding the ability to easily analyze/diff two 
> sources of Smalltalk code (i.e. basically the same image vs. changeset 
> or image vs. package functionality we currently have but expanding the 
> capability to allow for any two arbitrary sources whether changesets 
> vs. changeset, package vs. package, package vs. changeset or some 
> other pairing entirely) and it seems a bit harder than it needs to be 
> since the existing implementation assumes you will always be comparing 
> the image vs. something else.
> If this already exists and I'm looking in the wrong place, pointers 
> are appreciated.  If it doesn't, would there be any objection to 
> modifying/cleaning up this code so that we could optionally set an 
> 'other' Code*Browser that would be used rather than always assuming 
> the image?  A related enhancement could be to make the Code*Browser 
> code a bit smarter so that we don't need to explicitly determine if 
> 'this is a package' or 'this is a changeset' unless you want to.  
> Basically I'm asking if we would be willing to trade a (slight) 
> increase in implementation complexity for increased code source 
> flexibility here?

Hi Phil,

What you want is not yet done. I think it is a good idea. I suggest 
writing new (or improving existing) Model classes, for code already 
loaded in the image (in base image or in packages), and for code in 
files (CodePackageFile, etc). Ideally, the same View classes (i.e. the 
Morphic Windows) should be the same and work on whatever model. Models 
should be polymorphic enough so that comparing works irrespectively of 
the models involved.

This could be a nice improvement for the system.


Juan Vuletich

More information about the Cuis-dev mailing list