A world image is a file that contains a complete Scheme system,
perhaps additionally including user application code. Scheme provides
two methods for saving and restoring world images. The first method
writes a file containing all of the Scheme code in the world, which is
called a band. The file `runtime.com' that is loaded by the
microcode is just such a band.
To make your own band, use the procedure
disk-savewas performed. This is especially useful for saving your state when an error has occurred and you are not in the top-level REPL.
#t, except that the runtime system will not perform normal restart initializations; in particular, it will not load your init file.
To restore a saved band, give the
-band option when starting
Scheme. Alternatively, evaluate
from a running Scheme, which will destroy the current world, replacing
it with the saved world. The argument to
disk-restore may be
omitted, in which case it defaults to the filename from which the
current world was last restored.
Note: with the C back-end,
disk-save is not very useful. The
reason is that compiled procedures are compiled C code that has been
dynamically linked in, and
disk-save does not save any C
procedures. If you need to build a band for a C back-end system, please
contact us. Your system is a C back-end system if the following
expression does not evaluate to
Note: when restoring a saved band, the Scheme executable must be
configured with a large enough constant space and heap to hold the
band's contents. If you attempt to restore a band using the
-band option, and the band is too large, Scheme will write an
error message that tells you the appropriate command-line options needed
to load that band. If you attempt restore a too-large band using
disk-restore, Scheme will signal an error, but will not provide
the configuration information. In general, the configuration that was
used to save a band is sufficiently large to restore it.
Another method for saving the world is the
which accepts the same arguments as
disk-save and works in much
the same way. However, rather than dumping a band,
saves an executable image, which is started just like any other program.
This has the advantage of being considerably faster to start on some
systems, but the image file is typically much larger than the
corresponding band. However,
dump-world is only supported for a
few operating systems, and is not built into the distributed executable
files -- if you wish to use
dump-world, you must build your own
executable file from the source code.
dump-world is unlikely to work with this release as MIT
Scheme now uses shared libraries.