[Newbies] Re: Why do lengthy installations "shut down" Squeak?

Matthew Fulmer tapplek at gmail.com
Tue Feb 24 19:15:08 UTC 2009


On Tue, Feb 24, 2009 at 06:21:10PM +0000, Zulq Alam wrote:
> Hi Rob,
> 
> Rob Rothwell wrote:
> > Just wondering why, since Squeak has processes, when install something 
> > large via the Universe Browser, etc... I can't do anything else in 
> > Squeak while it is installing?  Is this by design?
> > 
> > It seems like it could just be a low priority background task and you 
> > could keep working...
> 
> Was hoping a Monticello/Universe expert would chip in but since they 
> haven't here's my 2 pence.

> Firstly, I suspect no one has tried to do background code loading. Apart 
> from some very large packages like Magma, it's usually bearable. And, if 
> they did try and do background loading it wouldn't be straightforward.
> 
> For instance, if you're loading a package that makes signficant UI code 
> changes such as Polymorph then I suspect it would be dangerous to keep 
> working.
> 
> Or if you're making changes to classes that are being loaded your 
> changes may be clobbered or vice versa,
> 
> Hope this helps.

I'm a Monticello developer. I think the lack of loading in the
background is mostly a historical accident, but it does prevent
some (but not all) problems where something gets modified
concurrently with the load.

Monticello 1.6 features true atomic loading, and thus could
support background compilation of the package while you continue
to work. It does the compilation in a sandbox separate from the
actual system, then merges it in using a single primitive
operation. For more details see

http://installer.pbwiki.com/SystemEditor

I haven't really thought about what would need to change in order
to support background loading; the biggest change would probably
be to stop the progress bar from appearing front and center on
the screen, and put it elsewhere. 

Monticello 1.6 is something I've been wanting to release for 3
months, but I've recently gotten too busy to work on it. Join me
in the #squeak IRC channel in Freenode if you want to talk about
it

-- 
Matthew Fulmer -- http://mtfulmer.wordpress.com/


More information about the Beginners mailing list