misc (was Re: full isolation)

Lex Spoon lex at cc.gatech.edu
Sat Mar 5 17:37:14 UTC 2005


It will be great to hear the long version, Goran!

> - We separate between "loaded" and "activated" modules. This IMHO was a
> thing that Modules3.3 got Right. A module should ALWAYS be loadable
> (getting it into the image) but when it is only loaded it should just
> "be there" for tools to work at. It should not affect anything.

Yes, that would be excellent.  It is a little awkward to use a separate
tool for browsing external code, like we do right now.  Additionally, it
seems like this will make the code browsers more modular and easy to
work with.  Instead of trawling through the system, the browser could
ask questions to some sort of SourceCodePool object.  (Chuck's name for
this concept -- but feel free to improve on it!).  I believe the refactoring
browser has a similar concept floating around, named BrowserEnvironment
perhaps?

It's a little mind-bending to think about the details of this.


> - We use ImageSegments for modules. 

ImageSegments are a fantastic piece of technology.  Please see
my next message, though, about potentially focussing too much
on fully general objects.


> - When activating a module it is "hooked up" using various mechanisms.
> This is when it will affect the image, and just as Lex says - it can't
> be totally isolated per definition. :) And to still hold it with a
> single reference when activated would mean making a lot of references
> that are pretty fundamental today to be dynamic lookups. 

Hmm, yes that seems true.  The links can get reconnected as modules are
loaded and unloaded.  Semantically, that's a dynamic lookup.

ImageSegments can, if I understand correctly, deal with both multiple roots
and multiple out-pointers from a segment.  So, yes, there are excellent bragging
rights available if the Squeak module system can hang on to a module with
just one reference!  However, it is possible to muddle along with a merely
fabulous module system that has 10 or even 100 references hanging on to it.
There is some wiggle room here.

-Lex



More information about the Modules mailing list