document distributed with 4.3BSD
[unix-history] / usr / src / old / lisp / PSD.doc / ch0.n
CommitLineData
ad665fb7
NC
1.\" Copyright (c) 1980 Regents of the University of California.
2.\" All rights reserved. The Berkeley software License Agreement
3.\" specifies the terms and conditions for redistribution.
4.\"
010755e1 5.\" @(#)ch0.n 6.1 (Berkeley) %G%
ad665fb7 6.\"
010755e1
NC
7.\" $Header: ch0.n,v 1.3 83/07/27 15:10:52 layer Exp $
8.eh 'The Franz Lisp Manual''PS2:8-%'
9.oh 'PS2:8-%''The Franz Lisp Manual'
10.pp
11\ \
12.sp 2i
13.tl ''\s14The\ \s16F\s14RANZ\ \s16L\s14ISP\ \s14Manual''
14.ps 10
15.sp 1v
16.tl ''by''
17.sp 2v
18.tl ''\fIJohn\ K.\ Foderaro\fP''
19.sp 2v
20.tl ''\fIKeith\ L.\ Sklower\fP''
21.sp 2v
22.tl ''\fIKevin\ Layer\fP''
23.sp 2i
24.tl ''June 1983''
25.sp 2i
26.tl '''A document in'
27.tl '''four movements'
28.bp
29.sp 1i
30.ft I
31.ll 5.5i
32.in .5i
33.tl ''Overture''
34.sp 2v
35A chorus of students
36under the direction of
37Richard Fateman have contributed to
38building
39.Fr
40from a mere melody into a full
41symphony .
42The major contributors to the initial system were
43Mike Curry, John Breedlove and Jeff Levinsky.
44Bill Rowan added the garbage collector and array package.
45Tom London worked on an early compiler and helped in
46overall system design.
47Keith Sklower has contributed much to
48.Fr ,
49adding the
50bignum package and rewriting most of the code to increase
51its efficiency and clarity.
52Kipp Hickman and Charles Koester added hunks.
53Mitch Marcus added *rset, evalhook and evalframe.
54Don Cohen and others at Carnegie-Mellon
55made some improvements to evalframe and
56provided various features modelled after UCI/CMU PDP-10 Lisp and
57Interlisp environments (editor, debugger, top-level).
58John Foderaro wrote the compiler, added a few functions,
59and wrote much of this manual. Of course, other authors have
60contributed specific chapters as indicated.
61Kevin Layer modified the compiler to produce code for the
62Motorola 68000, and helped make
63.Fr
64pass ``Lint''.
65.br
66This manual may be supplemented or supplanted by local
67chapters representing alterations, additions and deletions.
68We at U.C. Berkeley are pleased to learn of generally
69useful system features, bug fixes, or useful program packages,
70and we will attempt to redistribute such contributions.
71.sp 1.75i
72.ft R
73.ll 6.0i
74.in 0
75\(co 1980, 1981, 1983 by the Regents of the University of California.
76(exceptions: Chapters 13, 14 (first half), 15 and 16 have separate copyrights,
77as indicated. These are reproduced by permission of the copyright
78holders.)
79.br
80Permission to copy without fee all or part of this material is granted
81provided that the copies are not made or
82distributed for direct commercial advantage, and the copyright
83notice of the Regents, University of California, is given.
84All rights reserved.
85.br
86.sp 2v
87Work reported herein was supported in part by
88the U. S. Department
89of Energy, Contract DE-AT03-76SF00034, Project Agreement
90DE-AS03-79ER10358, and the National Science
91Foundation under Grant No. MCS 7807291
92.sp 2v
93UNIX is a trademark of Bell Laboratories. VAX and PDP are trademarks
94of Digital Equiptment Coporation. MC68000 is a trademark of
95Motorola Semiconductor Products, Inc.
96.bp
97.ps 16
98.sp 1i
99.tl ''Score''
100.sp .5i
101.ps 12
102.in 1i.
103.ti 2i
104\fBFirst Movement \fI(allegro non troppo)\fR
105.ps 10
106.sp 1v
107.de CH
108.ti -.5i
109\fR\\$1 \\$2\fP
110.br
111..
112.ft I
113.CH 1. F\s-2RANZ\s0\ L\s-2ISP\s0
114Introduction to
115.Fr ,
116details of data types,
117and description of notation
118.CH 2. Data\ Structure\ Access
119Functions for the creation, destruction
120and manipulation of lisp data objects.
121.CH 3. Arithmetic\ Functions
122Functions to perform arithmetic operations.
123.CH 4. Special\ Functions
124Functions for altering flow of control.
125Functions for mapping other functions over lists.
126.CH 5. I/O\ Functions
127Functions for reading and writing from ports.
128Functions for the modification of the reader's syntax.
129.CH 6. System\ Functions
130Functions for storage management, debugging, and for the reading
131and setting of global Lisp status variables.
132Functions for doing UNIX-specific tasks such as process control.
133.ft R
134.sp 2v
135.ps 12
136.ti 2i
137\fBSecond Movement \fI(Largo)\fR
138.ps 10
139.sp 1v
140.ft I
141.CH 7. The\ Reader
142A description of the syntax codes used by the reader.
143An explanation of character macros.
144.CH 8. Functions,\ Fclosures,\ and\ Macros
145A description of various types of functional objects.
146An example of the use of foreign functions.
147.CH 9. Arrays\ and\ Vectors
148A detailed description of the parts of an array and of
149Maclisp compatible arrays.
150.CH 10. Exception\ Handling
151A description of the error handling sequence and of autoloading.
152.ft R
153.bp
154.ps 12
155.ti 2i
156\fBThird Movement \fI(Scherzo)\fR
157.ps 10
158.sp 1v
159.ft I
160.CH 11. The\ Joseph\ Lister\ Trace\ Package
161A description of a very useful debugging aid.
162.CH 12. Liszt,\ the\ lisp\ compiler
163A description of the operation of the
164compiler and hints for making functions compilable.
165.CH 13. CMU\ Top\ Level\ and\ File\ Package
166A description of a top level with a history mechanism and a
167package which helps you keep track of files of lisp functions.
168.CH 14 Stepper
169A description of a program which permits you to put breakpoints
170in lisp code and to single step it. A description of the
171evalhook and funcallhook mechanism.
172.CH 15 Fixit
173A program which permits you to examine and modify evaluation stack
174in order to fix bugs on the fly.
175.CH 16 Lisp\ Editor
176A structure editor for interactive modification of lisp code.
177.ft R
178.sp 2v
179.ps 12
180.ti 2i
181\fBFinal Movement \fI(allegro)\fR
182.ps 10
183.sp 1v
184.ft I
185.CH Appendix\ A -\ Function\ Index
186.CH Appendix\ B -\ List\ of\ Special\ Symbols
187.CH Appendix\ C -\ Short\ Subjects
188Garbage collector, Debugging, Default Top Level