Memory Interaction

function GC : (&optional level) 

macro WITH-STATIC-AREA : (&body body) 

function WRITE-IMAGE : (filename &optional do-full-gc)
Save the current state of virtual memory in a file called FILENAME.
If DO-FULL-GC is true, then a full garbage collection is
performed before writing the image. Otherwise, a dynamic
garbage collection is performed and remaining objects are
promoted to being static ones.

During the initialization of a SubL system at startup, variables defined via DEFVAR have their initial values set via their state in the world file used at startup, ignoring the initial value specified by the code. DEFPARAMETER variables and DEFCONSTANT global constants have their values initialized via the code on startup.

The net result of this distinction is as follows: if a world is saved out via WRITE-IMAGE, and then used to restart a SubL system, the values of DEFVAR variables will persist, while any changes to DEFPARAMETER variables will be lost when they are reset to their original code-specified initial values on startup.