MTS 8: LISP and SLIP in MTS
June 1976
Commands for Error Recovery . 97 Processes Affecting the
Miscellaneous Commands . . . 99 Available Space . . . . . .120
Adding Cells and Data to
LISP Debugging Facilities . . .101 Lists . . . . . . . . . . .122
Introduction . . . . . . . .101 Retrieving Data from Lists 123
BREAKFUNCTION . . . . . . . .101 Retrieving Data from
Break Commands . . . . . .103 SLIP-Cells . . . . . . . .124
Context Commands . . . . .104 More Routines Concerning
Backtrace Commands . . . .106 List Cells . . . . . . . .125
Break Package . . . . . . . .107 How to Make Comments on
How to Set a Break . . . .107 Lists . . . . . . . . . . . .128
Error Package . . . . . . . .109 List Marks and
Description Lists . . . . .128
SLIP . . . . . . . . . . . . .111 The Reader Mechanism and
Introduction and Historical the Advance Functions . . .131
Notes . . . . . . . . . . . .111 Recursion . . . . . . . . .136
Basic Concepts of List Input/Output Operations . .140
Processing . . . . . . . .111 Types of SLIP Functions . . .141
Conventions . . . . . . . .116 New SLIP Functions . . . .142
Fundamental SLIP Operations .117 Summary of 360 SLIP
SLIP Data Elements . . . .117 Functions and Subroutines . .144
Programming Conventions How to Use SLIP . . . . . . .147
(SLIP with FORTRAN IV) . .118 References . . . . . . . . .148
Index . . . . . . . . . . . . .148.1
6

MTS 8: LISP and SLIP in MTS
June 1976 Page Revised February 1979
OVERVIEW OF LIST-PROCESSING LANGUAGES IN MTS ____________________________________________
This volume contains the language descriptions of the two major
list-processing languages that are supported in MTS, namely, LISP and
SLIP.
LISP is a programming language designed mainly for list-processing
applications. The principal applications have been in artificial
intelligence research. LISP was originally developed by J. McCarthy in
the early 1960s as a formal language based on Church’s lambda calculus.
The syntax was, and still is, extremely simple. The language has been
greatly extended by the addition of many special functions and is now a
very powerful and efficient system when used for the appropriate
applications. An important feature of LISP is that programs and data
are represented by list structures so that one function can create or
modify other functions, or even modify itself.
LISP programs are normally executed interpretively and require no
translation. A compiler is also available which translates LISP
programs into machine language. There are also two other LISP subsys-
tems available that are described in this volume--a data structure
editor and a debugging package.
Many different extended versions of LISP are now available throughout
the country and there is no standardization across versions. A LISP
program from another system will normally have to be modified to make it
run properly on the MTS LISP system.
The MTS LISP system and the description in this volume were produced
| by Bruce Wilcox and Carole Hafner of the Mental Health Research
Institute at the University of Michigan. It is based on LISP systems
currently in use at the Massachusetts Institute of Technology and
elsewhere.
| SLIP (Symmetric List Processor) is a set of subroutines to allow list _ __ _
structures to be easily built and maintained in higher-level languages
that do not have list-processing capabilities (e.g., FORTRAN). SLIP may
be used with almost any application involving list structures, e.g.,
computer graphics data structures, memory lists for data base management
systems, and mathematical applications involving lists of terms. The
SLIP user can build both simple and complicated list structures using
the same basic building blocks. Primitives are provided to read down a
list, perform insertion, deletion, list copying, and sublist creation
operations.
The description of SLIP in this volume was produced by Bertram
Herzog, formerly of the Department of Industrial and Operations Engi-
neering at the University of Michigan.
Overview of List-Processing Languages in MTS 7
Previous Page Next Page