1GCL(1L) GCL(1L)
2
3
4
6 gcl - GCL Common Lisp interpreter/compiler, CVS snapshot
7
9 gcl [ options ]
10
11
13 The program gcl is an implementation of a subset of the Common Lisp
14 Ansi standard. It is written in C and in Common Lisp, and is highly
15 portable. It includes those features in the original definition of
16 Common Lisp, (Guy Steele version 1.), as well as some features from the
17 proposed new standard.
18
19 The best documentation is available in texinfo/info form, with there
20 being three groups of information. gcl-si for basic common lisp de‐
21 scriptions, and features unique to gcl The gcl-tk info refers to the
22 connection with tk window system, allowing all the power of the tcl/tk
23 interaction system to be used from lisp. The third info file gcl de‐
24 tails the Ansi standard for common lisp, to which this subset tries to
25 adhere. It is highly recommended to write programs, which will be in
26 the intersection of gcl and ansi common lisp. Unfortunately the Ansi
27 standard is huge, and will require a substantial effort, and increase
28 in the size of gcl, to include all of it.
29
30 When gcl is invoked from the shell, the variable si::*command-args* is
31 set to the list of command line arguments. Various options are under‐
32 stood:
33
34 -eval command
35 Call read and then eval on the command passed in.
36
37 -- Stop processing arguments, setting si::*command-args* to a list
38 containing the arguments after the --.
39
40 -load pathname
41 Load the file whose pathname is specified after -load.
42
43 -f Open the file following -f for input, skip the first line, and
44 then read and eval the rest of the forms in the file. Replaces
45 si::*command-args* by the the list starting after -f. This can
46 be used as with the shells to write small shell programs:
47
48
49 #!/usr/local/bin/gcl.exe -f
50 (format t "hello world ~a~%" (nth 1 si::*command-args*))
51
52 The value si::*command-args* will have the appropriate value. Thus if
53 the above 2 line file is made executable and called foo then
54
55
56 tutorial% foo billy
57 hello world billy
58
59 NOTE: On many systems (eg SunOs) the first line of an executable
60 script file such as: #!/usr/local/bin/gcl.exe -f only reads the first
61 32 characters! So if your pathname where the executable together with
62 the '-f' amount to more than 32 characters the file will not be recog‐
63 nized. Also the executable must be the actual large binary file, [or
64 a link to it], and not just a /bin/sh script. In latter case the
65 /bin/sh interpreter would get invoked on the file.
66
67 Alternately one could invoke the file foo without making it executable:
68
69 tutorial% gcl -f foo "from bill"
70 hello world from bill
71
72
73 -batch Do not enter the command print loop. Useful if the other com‐
74 mand line arguments do something. Do not print the License and
75 acknowledgement information. Note if your program does print
76 any License information, it must print the GCL header informa‐
77 tion also.
78
79
80 -dir Directory where the executable binary that is running is lo‐
81 cated. Needed by save and friends. This gets set as si::*sys‐
82 tem-directory*
83
84
85 -libdir
86 -libdir /d/wfs/gcl-2.0/
87
88 would mean that the files like gcl-tk/tk.o would be found by
89 concatting the path to the libdir path, ie in
90 /d/wfs/gcl-2.0/gcl-tk/tk.o
91
92
93 -compile
94 Invoke the compiler on the filename following -compile Other
95 flags affect compilation.
96
97
98 -o-file
99 If nil follows -o-file then do not produce an .o file.
100
101
102 -c-file
103 If -c-file is specified, leave the intermediate .c file there.
104
105
106 -h-file
107 If -h-file is specified, leave the intermediate .h file there.
108
109
110 -data-file
111 If -data-file is specified, leave the intermediate .data file
112 there.
113
114
115 -system-p
116 If -system-p is specified then invoke compile-file with the
117 :system-p t keyword argument, meaning that the C init function
118 will bear a name based on the name of the file, so that it may
119 be invoked by name by C code.
120
121 This GNU package should not be confused with the proprietary
122 program distributed by FRANZ, Inc. Nor should it be confused
123 with any public domain or proprietary lisp system.
124
125 For anything other than program development, use of the lisp
126 compiler is strongly recommended in preference to use of the in‐
127 terpreter, due to much higher speed.
128
130 /usr/bin/gcl
131 executable shell script wrapper
132
133 /usr/lib/gcl-version/unixport/saved[_flavor]_gcl
134 executable lisp images
135
137 Common LISP: The Language, Guy L. Steele, Jr., Digital Press, Bedford,
138 MA, 1984.
139
140 Common LISPcraft, Robert Wilensky, W. W. Norton & Co., New York, 1984.
141
143 The GCL system contains C and Lisp source files to build a Common Lisp
144 system. CGL is derived from Kyoto Common LISP (kcl), which was written
145 in 1984 by T. Yuasa and M. Hagiya (working under Professor R. Nakajima
146 at the Research Institute for Mathematical Sciences, Kyoto University).
147 The AKCL system work was begun in 1987 by William Schelter at the Uni‐
148 versity of Texas, Austin, and continued through 1994. In 1994 AKCL
149 was released as GCL (GNU Common Lisp) under the GNU public library li‐
150 cense.
151
152
153
154
155 17 March 1997 GCL(1L)