MTS 8: LISP and SLIP in MTS
Page Revised February 1979 June 1976
state becomes a reachable world in the transport system. For
example, (SETQ EARTH (NEWWORLD)) saves the ticket as the VALUE of
EARTH. (NEWWORLD T) returns a ticket to reality. This is provided
in case the user wishes to return to reality, but has not saved a
ticket to get there. (NEWWORLD NIL) returns a ticket to the
closest reachable world which dominates the current state. NEW-
WORLD does not cause a transfer to any other world. Its purpose is
to create tickets.
(GETWORLD S)
The GETWORLD function performs the transportation in the system.
Its argument must be a valid ticket (an error will be generated if
not), and it causes a transfer to the world identified by that
ticket. For example,
(GETWORLD EARTH)
(REALWORLD)
REALWORLD, the most amazing function of all, takes the current
state of LISP structure, and causes it to become reality. What was
once reality is now lost forever, and all previously created
tickets will no longer be valid.
| The LISP Compiler: (COMPILE A1...AN) _____________________________________
For each atom Ai, the LISP compiler finds the EXPR property on its
PLIST and, if it is a LAMBDA-expression, translates it into machine code
to perform the same computation. This machine code program, in the form
of a LISP "SUBR atom," is put on the PLIST of the atom Ai under the
appropriate indicator (SUBR for LAMBDAs, NSUBR for NLAMBDAs, FSUBR for
FLAMBDAs), and the EXPR property is removed.
COMPILE is an FLAMBDA function which takes its arguments unEVALed.
When COMPILE is called, the compiler will be loaded automatically
from *LISPLIB. Evaluating the form (=EXCISE) will remove it.
Compiler Features
Declarations--(DECLARE A,LA IND PVAL)
The function DECLARE, an NSUBR, is used to control the various
compiler options described below. The arguments to declare
take the form:
(DECLARE A,LA IND PVAL)
82 LISP