1GCL(1L) GCL(1L)
2
3
4
6 gcl - GCL Common Lisp interpreter/compiler
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
21 descriptions, 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
24 details the Ansi standard for common lisp, to which this subset tries
25 to adhere. It is highly recommended to write programs, which will be
26 in the intersection of gcl and ansi common lisp. Unfortunately the
27 Ansi standard is huge, and will require a substantial effort, and
28 increase in the size of gcl, to include all of it.
29
30When gcl is invoked from the shell, the variable si::*command-args* is set to
31the list of command line arguments. Various options are understood:
32
34 Call read and then eval on the command passed in.
35
37 Load the file whose pathname is specified after -load.
38
40Replace si::*command-args* by the the list starting after -f. Open the file
41following -fforinput,skipthefirstline,and then read and eval the rest of the
42forms in the file. This can be used as with the shells to write small shell
43programs:
44
45
46#!/usr/local/bin/gcl.exe -f
47(format t "hello world ~a~%" (nth 1 si::*command-args*))
48
49 The value si::*command-args* will have the appropriate value. Thus if the
50above 2 line file is made executable and called foo then
51
52
53tutorial% foo billy
54hello world billy
55
56 NOTE: On many systems (eg SunOs) the first line of an executable script file
57such as: #!/usr/local/bin/gcl.exe -f only reads the first 32 characters! So
58if your pathname where the executable together with the '-f' amount to more
59than 32 characters the file will not be recognized. Also the executable must
60be the actual large binary file, [or a link to it], and not just a /bin/sh
61script. In latter case the /bin/sh interpreter would get invoked on the
62file.
63
64Alternately one could invoke the file foo without making it executable:
65
66tutorial% gcl -f foo "from bill"
67hello world from bill
68
69
71 Do not enter the command print loop. Useful if the other command line argu‐
72ments do something. Do not print the License and acknowledgement information.
73Note if your program does print any License information, it must print the GCL
74header information also.
75
76
78 Directory where the executable binary that is running is located. Needed by
79save and friends. This gets set as si::*system-directory*
80
81
83 -libdir /d/wfs/gcl-2.0/
84
85would mean that the files like gcl-tk/tk.o would be found by concatting the
86path to the libdir path, ie in /d/wfs/gcl-2.0/gcl-tk/tk.o
87
88
90 Invoke the compiler on the filename following -compile. Other flags affect
91compilation.
92
93
95 If nil follows -o-file then do not produce an .o file.
96
97
99 If -c-file is specified, leave the intermediate .c file there.
100
101
103If -h-file is specified, leave the intermediate .h file there.
104
105
107If -data-file is specified, leave the intermediate .data file there.
108
109
111If -system-p is specified then invoke compile-file with the :system-p t key‐
112word argument, meaning that the C init function will bear a name based on the
113name of the file, so that it may be invoked by name by C code.
114
115
116
117
118This GNU package should not be confused with the proprietary program distrib‐
119uted by FRANZ, Inc. For anything other than program development, use of the
120lisp compiler glc(1L) is strongly recommended in preference to use of the
121interpreter, due to much higher speed.
122
124 /site/subsys/gcl/bin/gcl
125 executable file
126
127 /site/subsys/gcl/bin/gclc
128 compiler
129
130 /usr/include/cmpinclude.h
131 C library file
132
134 Common LISP: The Language, Guy L. Steele, Jr., Digital Press, Bedford,
135 MA, 1984.
136
137 Common LISPcraft, Robert Wilensky, W. W. Norton & Co., New York, 1984.
138
140 The GCL system contains C and Lisp source files to build a Common Lisp
141 sytem. CGL is derived from Kyoto Common LISP (kcl), which was written
142 in 1984 by T. Yuasa and M. Hagiya (working under Professor R. Nakajima
143 at the Research Institute for Mathematical Sciences, Kyoto University).
144 The AKCL system work was begun in 1987 by William Schelter at the Uni‐
145 versity of Texas, Austin, and continued through 1994. In 1994 AKCL
146 was released as GCL (GNU Common Lisp) under the GNU public library
147 license.
148
149
150
151
152 17 March 1997 GCL(1L)