Generalized Object Modules Design

Lex Spoon lex at cc.gatech.edu
Thu Mar 7 02:10:35 UTC 2002


"Richard A. O'Keefe" <ok at cs.otago.ac.nz> wrote:
> Concerning my proposal for change-set being associated with Browser,
> "Lex Spoon" <lex at cc.gatech.edu> wrote:
> 	
> 	It doesn't solve the case I usually run into.  I'll do inst-var-defs and
> 	then do implementors-of three times, and spot some code that I'd like to
> 	change.  If that code is in a different module, I still have to choose a
> 	different changeset manually.  I don't want to have to go find that method
> 	in a different browser, either.  The code is there, I'd like to change it and
> 	have it go to the right changeset.  In a lot of cases, this can be done.
> 	
> I must admit I don't understand this, because I don't understand Squeak's
> new modules yet (and this time I _did_ read all the pages I could find on
> the Swiki).
> 
[...]
> So you're in a browser, whose changes go into change set X.
> You see some code you want to change, so you spawn a new browser
> from _within_ the browser where you're working.
> The new browser will put its changes into change set X too.
> 
> If you want a browser to put its changes somewhere else,
> open the new browser from the project background.
> 


Suppose I have the following changesets in my image:

	URL
	HTML-Tokenizer
	HTML-Parser
	HTML-Formatter

I'm mainly working on the parser, so the current changeset is
HTML-Parser.  However, I stumble across a bug somewhere in my code (I
think that has happened once or twice.  Please, bear with me.).  After
hitting implementors-of a few times, I'm looking at a blue message list
window pointing at Url>>fragment.  Voila, this is it, just change one
line of code....

Unfortunately the change will end up in the Parser changeset, even
though it belongs in URL.  Why can't the system be set up to put all Url
changes into the URL changeset?

Changeset-per-browser doesn't really help here.  All my changesets and
message windows and such will be assigned to the Parser changeset.  Even
if I have a URL browser floating around, I would have to dig through
that browser to find the right method again, and that's even more work
than switching the active changeset.

It seems like the system could easily guess which changeset to put
something in, most of the time.  The big question, it seems, is whether
there is a scheme that's so complicated to configure that it beats the
point....


-Lex



More information about the Squeak-dev mailing list