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... Rob _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
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. - Zulq _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
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/ _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
On 24.02.2009, at 20:15, Matthew Fulmer wrote: > 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... >> > 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. One other issue is that before applying the atomic system change, you need to verify the system is still in the same state as when the working copy snapshot was taken. Monticello works by comparing a snapshot of the package in the image with the package to be loaded, taking the difference to patch the system. But if the part covered by the snapshot is modified, the snapshot is invalid, and so the patch becomes invalid too. - Bert - _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |