BSD 3 development
[unix-history] / .ref-BSD-2 / man / lisp.u
CommitLineData
bb56dd76
BJ
1.de lt
2.ta 1.2i 2.4i 3.6i 4.8i 6.0i
3..
4.TH LISP UCB 2/27/79 UCB
5.SH NAME
6lisp \- lisp interpreter
7.SH SYNOPSIS
8.B lisp
9.SH DESCRIPTION
10.PP
11.I Lisp
12is a provisional lisp interpreter.
13It only runs in eval mode. Built in functions are named
14in lower case, and case is distinguished.
15It is being transmuted from a subset of lisp
16as provided by the Harvard \s-2UNIX\s0 lisp in
17use at \s-2UCB\s0, to a subset of \s-2MIT\s0's \s-2MACLISP\s0.
18.PP
19The following functions are provided as machine code:
20.LP
21Lambda functions:
22.if n .ta 13n 26n 39n 52n 65n
23.if t .lt
24.sp
25.nf
26atom dptr load putd rplacd
27bcdp drain null putprop set
28car eq numberp ratom terpr
29cdr equal outfile read
30close eval patom readc
31concat get pntlen retbrk
32cons getd portp return
33cont infile print rplaca
34.fi
35.LP
36Nlambda functions (possibly simulating ones which are normally lambdas):
37.if n .ta 13n 26n 39n 52n 65n
38.if t .lt
39.sp
40.nf
41add1 difference onep quotient zerop
42and exit or reset
43break go plus setq
44cond minus product sub1
45cond mod prog sum
46def not quote times
47.fi
48.PP
49The following functions are provided as lisp code (and at the moment
50must be read in by saying (load 'auxfns):
51.if n .ta 13n 26n 39n 52n 65n
52.if t .lt
53.sp
54.nf
55add copy length numbp
56append defevq linelength pp_etc
57apply* defprop member reverse
58charcnt defprop memcar terpri
59chrct diff memcdr
60conc last nconc
61.fi
62.PP
63All of the above functions are documented in the ``Harvard Lisp Manual.''
64.PP
65The following functions are provided as in \s-2MIT\s0's \s-2MACLISP\s0.
66.if n .ta 13n 26n 39n 52n 65n
67.if t .lt
68.sp
69.nf
70alphalessp do mapc setsyntax
71apply explodec mapcar throw
72ascii exploden prog2 tyi
73catch funcall progn tyipeek
74defun implode progv tyo
75.fi
76.PP
77``Hairy control structure'' is provided by the Nlambda
78(process\ \fIcommand\ inport\ outport\fR)
79where
80.I command
81is an atom whose print name is some command that you would wish typed
82at the terminal, e.g. ``neqn\ |\ nroff\ \-ms'';
83where
84.I inport
85and
86.I outport
87are atoms which will be bound to port descriptors for use in
88communication with the subprocess.
89.I Inport
90is a port to a pipe which will be read by the subprocess as
91its standard input. If
92.I Inport
93is \fInil\fR (or not present), the subprocess inherits the standard
94input, and lisp waits for the subprocess to die.
95If
96.I Inport
97is the atom
98.I t
99lisp continues without waiting.
100.SH AUTHORS
101Originally written by Jeff Levinsky, Mike Curry, and John Breedlove.
102Keith Sklower made it work and is maintaining the current version.
103The garbage collector was implemented by Bill Rowan.
104.SH SEE ALSO
105Harvard \s-2UNIX\s0 Lisp Manual
106.br
107Maclisp Manual
108.br
109`UCB Franz Lisp Manual, Version 1 (in preparation)'
110.SH "BUGS"
111The status bits for
112.I setsyntax
113are not the same as for \s-2MACLISP\s0.
114.PP
115Closing
116down a pipe doesn't always seem to work correctly.
117.PP
118Arrays are not implemented in version 1.