Structure of a LISP System Using Two-Level Storage
In an ideal list-processing system there would
be enough core memory to contain all the data 
and programs.  Described in this paper are a number
of techniques that have been used to build a LISP 
system utilizing a drum for its principal storage medium,
 with a surprisingly low time penalty for use 
of this slow storage device.  The techniques include
careful segmentation of system programs, allocation 
of virtual memory to allow address arithmetic for type
determination, and a special algorithm for building 
reasonably linearized lists.  A scheme for binding variables
is described which is good in this environment 
and allows for complete compatibility between compiled
and interpreted programs with no special declarations.
CACM March, 1967
Bobrow, D. G.
Murphy, D. L.
