~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to man/man1/gcl.1

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH GCL 1L "17 March 1997"
 
2
.SH NAME
 
3
gcl \- GCL Common Lisp interpreter/compiler
 
4
.SH SYNOPSIS
 
5
.B gcl
 
6
[
 
7
.B options
 
8
]
 
9
 
 
10
.SH DESCRIPTION
 
11
 
 
12
The program
 
13
.I gcl
 
14
is an implementation of a subset of the Common Lisp Ansi standard.
 
15
It is written in C and in Common Lisp, and is highly portable.   It
 
16
includes those features in the original definition of Common Lisp,
 
17
(Guy Steele version 1.), as well as some features from the proposed
 
18
new standard.
 
19
.LP
 
20
The best documentation is available in
 
21
.I texinfo/info
 
22
form, with there being three groups of information.
 
23
.I gcl-si
 
24
for basic common lisp descriptions, and features unique to
 
25
.I gcl
 
26
The
 
27
.I gcl-tk
 
28
info refers to the connection with
 
29
.I tk
 
30
window system, allowing all the power of the
 
31
.I tcl/tk
 
32
interaction system to be used from lisp.
 
33
The third info file
 
34
.I gcl
 
35
details the Ansi standard for common lisp, to which this subset
 
36
tries to adhere.   It is highly recommended to write programs,
 
37
which will be in the intersection of gcl and ansi common lisp.
 
38
Unfortunately the Ansi standard is huge, and will require a substantial
 
39
effort, and increase in the size of gcl, to include all of it.
 
40
.RE
 
41
.LP
 
42
When
 
43
.I gcl
 
44
is invoked from the shell, the variable
 
45
.I si::*command-args*
 
46
is set to the list of command line arguments.
 
47
Various
 
48
.I options
 
49
are understood:
 
50
.RE
 
51
.TP
 
52
.BR \-eval\ command 
 
53
.RB
 
54
Call read and then eval on the
 
55
.I command passed in.
 
56
.TP
 
57
.BR \-load\ pathname
 
58
.RB
 
59
Load the file whose
 
60
.I pathname
 
61
is specified after
 
62
.BR \-load .
 
63
.TP
 
64
.B \-f
 
65
Replace si::*command-args* by the the list starting after
 
66
.BR \-f .
 
67
Open the file following
 
68
.BR \-f  for input, skip the first line, and
 
69
then read and eval the rest of the forms in the file.   This can
 
70
be used as with the shells to write small shell programs:
 
71
 
 
72
.LP
 
73
.br
 
74
#!/usr/local/bin/gcl.exe -f
 
75
.br
 
76
(format t "hello world ~a~%" (nth 1 si::*command-args*))
 
77
.RE
 
78
 
 
79
.BR
 
80
The value
 
81
.I si::*command-args*
 
82
will have the appropriate value.
 
83
Thus if the above 2 line file is made executable and called
 
84
.I foo
 
85
then
 
86
 
 
87
.LP
 
88
.LP
 
89
.br
 
90
tutorial% foo billy
 
91
.br
 
92
hello world billy
 
93
.RE
 
94
 
 
95
.BR
 
96
NOTE:  On many systems (eg SunOs) the first line of an executable
 
97
script file such as:
 
98
.BR
 
99
#!/usr/local/bin/gcl.exe -f
 
100
only reads the first 32 characters!   So if your pathname where
 
101
the executable together with the '-f' amount to more than 32
 
102
characters the file will not be recognized.   Also the executable
 
103
must be the actual large binary file, [or a link to it], and not
 
104
just a
 
105
.I /bin/sh
 
106
script.   In latter case the
 
107
.I /bin/sh
 
108
interpreter would get invoked on the file.
 
109
 
 
110
Alternately one could invoke the file
 
111
.I foo
 
112
without making it
 
113
executable:
 
114
.LP
 
115
.LP
 
116
.br
 
117
tutorial% gcl -f foo "from bill"
 
118
.br
 
119
hello world from bill
 
120
.RE
 
121
 
 
122
.TP
 
123
.B \-batch
 
124
.RB
 
125
Do not enter the command print loop.  Useful if the other command
 
126
line arguments do something.  Do not print the License and
 
127
acknowledgement information.  Note if your program does print any
 
128
License information, it must print the GCL header information also.
 
129
 
 
130
.TP
 
131
.B \-dir
 
132
.RB
 
133
Directory where the executable binary that is running is located.
 
134
Needed by save and friends.  This gets set as
 
135
si::*system-directory*
 
136
 
 
137
.TP
 
138
.B \-libdir
 
139
.RB
 
140
.BR \-libdir
 
141
.I /d/wfs/gcl-2.0/
 
142
.RB
 
143
 
 
144
would mean that the files like gcl-tk/tk.o would be found by
 
145
concatting the path to the libdir path, ie in
 
146
.RB /d/wfs/gcl-2.0/gcl-tk/tk.o
 
147
 
 
148
.TP
 
149
.B \-compile
 
150
.RB
 
151
Invoke the compiler on the filename following
 
152
.BR \-compile
 
153
.  Other
 
154
flags affect compilation.
 
155
 
 
156
.TP
 
157
.B \-o-file
 
158
.RB
 
159
If nil follows
 
160
.BR \-o-file
 
161
then do not produce an
 
162
.I .o
 
163
file.
 
164
 
 
165
.TP
 
166
.B \-c-file
 
167
.RB
 
168
If
 
169
.BR \-c-file
 
170
is specified, leave the intermediate
 
171
.I .c
 
172
file there.
 
173
 
 
174
.TP
 
175
.B \-h-file
 
176
.RB     If
 
177
.BR \-h-file
 
178
is specified, leave the intermediate
 
179
.I .h
 
180
file there.
 
181
 
 
182
.TP
 
183
.B \-data-file
 
184
.RB     If
 
185
.BR \-data-file
 
186
is specified, leave the intermediate
 
187
.I .data
 
188
file
 
189
there.
 
190
 
 
191
.TP
 
192
.B \-system-p
 
193
.RB     If
 
194
.BR \-system-p
 
195
is specified then invoke
 
196
.I compile-file
 
197
with the
 
198
.I :system-p t
 
199
keyword argument, meaning that the C init function
 
200
will bear a name based on the name of the file, so that it may be
 
201
invoked by name by C code.
 
202
 
 
203
 
 
204
 
 
205
 
 
206
This GNU package should not be confused with the proprietary program
 
207
distributed by FRANZ, Inc.
 
208
Nor should it be confused with the public domain \*(Fl or the proprietary
 
209
\*(Li.
 
210
For anything other than program development,
 
211
use of the lisp compiler \fIglc\fP(1L) is strongly
 
212
recommended in preference to use of the interpreter,
 
213
due to much higher speed.
 
214
.\".LP
 
215
.\"This program may be used in conjunction with the UCSF
 
216
.\".I batchqueue
 
217
.\"system.
 
218
.\".SH "LOCAL ACCESS"
 
219
.\"Locally, access to all L\s-2ISP\s0 systems is made through a shared
 
220
.\"interactive front-end which assumes that the job is be run in batch mode
 
221
.\"unless the \fB\-i\fP option is activated, which starts an interactive session.
 
222
.\"Interactive sessions are limited to 30 cpu minutes.
 
223
.SH FILES
 
224
.TP
 
225
\fI/site/subsys/gcl/bin/gcl
 
226
executable file
 
227
.TP
 
228
\fI/site/subsys/gcl/bin/gclc
 
229
compiler
 
230
.TP
 
231
\fI/usr/include/cmpinclude.h
 
232
C library file
 
233
.SH "SEE ALSO"
 
234
.sp
 
235
\fICommon LISP: The Language\fP, Guy L. Steele, Jr., Digital Press, Bedford, MA,
 
236
1984.
 
237
.sp
 
238
\fICommon LISPcraft\fP, Robert Wilensky, W. W. Norton & Co., New York, 1984.
 
239
.SH AUTHORS
 
240
 
 
241
The GCL system contains C and Lisp source files to build a Common Lisp
 
242
sytem.  
 
243
CGL is derived from Kyoto Common LISP (\fIkcl\fP),
 
244
which was written in 1984 by T. Yuasa and M. Hagiya
 
245
(working under Professor R. Nakajima at the Research
 
246
Institute for Mathematical Sciences, Kyoto University).
 
247
The AKCL system work was begun in 1987 by
 
248
William Schelter at the University of Texas, Austin,  and continued through 1994.  
 
249
In 1994 AKCL was released as GCL (GNU Common Lisp) under the
 
250
GNU public library license.
 
251
.\"
 
252