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 flags affect compila‐
91tion.
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. Nor should it be confused with the public domain or the
120proprietary For anything other than program development, use of the lisp com‐
121piler glc(1L) is strongly recommended in preference to use of the interpreter,
122due to much higher speed.
123
125 /site/subsys/gcl/bin/gcl
126 executable file
127
128 /site/subsys/gcl/bin/gclc
129 compiler
130
131 /usr/include/cmpinclude.h
132 C library file
133
135 Common LISP: The Language, Guy L. Steele, Jr., Digital Press, Bedford,
136 MA, 1984.
137
138 Common LISPcraft, Robert Wilensky, W. W. Norton & Co., New York, 1984.
139
141 The GCL system contains C and Lisp source files to build a Common Lisp
142 sytem. CGL is derived from Kyoto Common LISP (kcl), which was written
143 in 1984 by T. Yuasa and M. Hagiya (working under Professor R. Nakajima
144 at the Research Institute for Mathematical Sciences, Kyoto University).
145 The AKCL system work was begun in 1987 by William Schelter at the Uni‐
146 versity of Texas, Austin, and continued through 1994. In 1994 AKCL
147 was released as GCL (GNU Common Lisp) under the GNU public library
148 license.
149
150
151
152
153 17 March 1997 GCL(1L)