Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!think!kulla!barmar
From: barmar@kulla (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Incremental worlds, on conventional processors
Keywords: layered saved images, disk space, Poplog, Harlequin, Lucid, Franz
Message-ID: <30019@news.Think.COM>
Date: 25 Sep 89 02:53:14 GMT
References: <3391@cbnewsc.ATT.COM> <924@skye.ed.ac.uk>
Sender: news@Think.COM
Reply-To: barmar@kulla.UUCP (Barry Margolin)
Organization: Thinking Machines Corporation, Cambridge MA, USA
Lines: 31

In article <924@skye.ed.ac.uk> jeff@aiai.uucp (Jeff Dalton) writes:
>That is, instead
>of setting up a state and then saving the world, I write a
>file that sets up the state, compile it, and load it in
>when needed.

This sounds like you're arguing against saved worlds in general, not
just incremental worlds.  I don't know of any professional-quality
Lisps that don't provide saved worlds.  Would you really prefer to
load several hundred compiled files rather than start up a saved
world?  It takes us an hour to load the basic Connection Machine
software into Lucid on a Sun-4; we'd be dead without saved worlds, if
everyone had to reload the software every time they started up Lisp.

>In some cases, saved worlds are better; in other cases, though,
>it's better to have compiled files.  For example, it there tend
>to be fewer ordering constraints when loading several compiled files
>than when trying to restore several saved worlds.

What kinds of ordering constraints are there with incremental worlds?
The routine for loading incremental worlds should handle this
automatically.

Compiled files, on the other hand, often have ordering constraints.
You have to load the file that defines a package before loading files
that reference the package.  And if a file contains any top-level
function calls you have to load the files that define the functions
before loading it.

Barry Margolin
Thinking Machines Corp.