Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lisp(1) — UNIX 2.11BSD

Media Vault

Software Library

Restoration Projects

Artifacts Sought

LISP(1)  —  Unix Programmer’s Manual

NAME

lisp − lisp interpreter

SYNOPSIS

lisp

DESCRIPTION

Lisp is a provisional lisp interpreter.  It only runs in eval mode. Built in functions are named in lower case, and case is distinguished.  It is being transmuted from a subset of lisp as provided by the Harvard UNIX lisp in use at UCB, to a subset of MIT’s MACLISP. 

The following functions are provided as machine code:

Lambda functions:

atomdptrloadputdrplacd
bcdpdrainnullputpropset
careqnumberpratomterpr
cdrequaloutfileread
closeevalpatomreadc
concatgetpntlenretbrk
consgetdportpreturn
continfileprintrplaca

Nlambda functions (possibly simulating ones which are normally lambdas):

add1differenceonepquotientzerop
andexitorreset
breakgoplussetq
condminusproductsub1
condmodprogsum
defnotquotetimes

The following functions are provided as lisp code (and at the moment must be read in by saying (load ’auxfns):

addcopylengthnumbp
appenddefevqlinelengthpp_etc
apply∗defpropmemberreverse
charcntdefpropmemcarterpri
chrctdiffmemcdr
conclastnconc

All of the above functions are documented in the “Harvard Lisp Manual.”

The following functions are provided as in MIT’s MACLISP. 

alphalesspdomapcsetsyntax
applyexplodecmapcarthrow
asciiexplodenprog2tyi
catchfuncallprogntyipeek
defunimplodeprogvtyo

“Hairy control structure” is provided by the Nlambda (process command inport outport) where command is an atom whose print name is some command that you would wish typed at the terminal, e.g. “neqn | nroff −ms”; where inport and outport are atoms which will be bound to port descriptors for use in communication with the subprocess.  Inport is a port to a pipe which will be read by the subprocess as its standard input. If Inport is nil (or not present), the subprocess inherits the standard input, and lisp waits for the subprocess to die.  If Inport is the atom t lisp continues without waiting. 

AUTHORS

Originally written by Jeff Levinsky, Mike Curry, and John Breedlove.  Keith Sklower made it work and is maintaining the current version.  The garbage collector was implemented by Bill Rowan. 

SEE ALSO

Harvard UNIX Lisp Manual
MACLISP Manual
UCB Franz Lisp Manual

BUGS

The status bits for setsyntax are not the same as for MACLISP. 

Closing down a pipe doesn’t always seem to work correctly. 

Arrays are not implemented in version 1. 

3rd Berkeley Distribution

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026