MTS 8: LISP and SLIP in MTS
June 1976
32 System message switch.
0 No messages.
1 Print garbage collection messages (see the later
subsection "The Garbage Collector").
2 Print "CHECKPOINT DONE" messages (see the later
subsection "(CHECKPOINT A S and RESTORE").
4 Print "FREE SPACE EXPAND" messages (see the later
subsection "The Parameter List").
Initially 7.
33 Batch/terminal switch. 4 specifies batch, 0 specifies
terminal.
34 Interrupt trap switch. Initially 0 (all traps on).
1 Disable program interrupt trap.
2 Disable attention interrupt trap.
4 Alternate error atom control (used for writing debug-
ging packages).
35 Step count. The value of this parameter is the number of
steps remaining before a "STEP DONE" error will occur. It
is meaningful only when running under STEP control.
36 Value of GENSYM counter.
37 Initialization call for TIME (get form only).
38 CPU time used, relative to previous initialization (milli-
seconds, get only).
39 Elapsed time, relative to previous initialization (milli-
seconds, get only).
40 Supervisor state time, relative to initialization (timer
units, get only). A timer unit is about 13.3 microseconds.
41 Problem-state time, relative to initialization (timer units,
get only).
42 Time of day. Returns literal atom AA:BB:CC where AA = hour,
BB = minutes, CC = seconds (get only).
Note: The atom returned is not on the OBJECT LIST.
43 CHECKPOINT switch. 0 specifies exit after CHECKPOINT. 1
specifies automatic restore after CHECKPOINT. Initially 1.
44 This status code is used to get or set the current value of
the FCS parameter.
72 LISP

MTS 8: LISP and SLIP in MTS
June 1976 Page Revised January 1983
45 This status code is used to get or set the current value of
the GC# parameter.
46 This status code is used to get the current number of pages
of freespace in use by the system.
47 This status code is used to get or set the value of the
internal integer array. The value of the second parameter
must be an array atom, where the elements or the array form
an increasing sequence of integer atoms. When this status
number is set, the first and last array elements are used to
reset the limits of fast number access.
48 This status code is used to control the =FL linking option
of the compiler (see the later subsection "The LISP Compil-
| er: (COMPILE A1...AN)"). Initially T.
49 This status code enables or disables the garbage collector.
Initially NIL (GC allowed).
The OBJECT LIST _______________
LISP maintains a system list of atoms called the OBJECT LIST. The
purpose of the OBJECT LIST is to allow references to atoms by name on
input. Thus, whenever a literal atom is read, READ compares the atom
with the atoms on the OBJECT LIST. If they match, then the pointer
which was created references the atom already on the OBJECT LIST, and no
new atom is created. If there is no match, a new atom is created, and
placed on the OBJECT LIST.
There may be atoms in the system which are not on the OBJECT LIST.
For example, atoms created by GENSYM are guaranteed to be unique since
they are not on the OBJECT LIST. A reference by PNAME to an atom which
is not on the OBJECT LIST will cause a new atom to be created with the
same PNAME, and the original atom will not be referenced.
Atoms on the OBJECT LIST are considered active structures by the
garbage collector, and are preserved.
(OBLIST)
The function (OBLIST) with no arguments returns a (long) list of
all the atoms which are on the OBJECT LIST.
(REMOB A1...AN)
The function REMOB removes literal atoms from the OBJECT LIST.
Once an atom is REMOBed, it may no longer be referenced by PNAME,
and will be destroyed during the next garbage collection, if it is
not referenced by any active LISP structures. REMOB is an N-type
function and its arguments are not EVALed.
LISP 73
Previous Page Next Page