1GCL(1L)                                                                GCL(1L)
2
3
4

NAME

6       gcl - GCL Common Lisp interpreter/compiler
7

SYNOPSIS

9       gcl [ options ]
10
11

DESCRIPTION

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

-eval command

34 Call read and then eval on the command passed in.
35

-load pathname

37 Load the file whose pathname is specified after -load.
38

-f

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

-batch

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

-dir

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

-libdir

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

-compile

90 Invoke the compiler on the filename following -compile flags affect  compila‐
91tion.
92
93

-o-file

95 If nil follows -o-file then do not produce an .o file.
96
97

-c-file

99 If -c-file is specified, leave the intermediate .c file there.
100
101

-h-file

103If -h-file is specified, leave the intermediate .h file there.
104
105

-data-file

107If -data-file is specified, leave the intermediate .data file there.
108
109

-system-p

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

FILES

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

SEE ALSO

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

AUTHORS

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)
Impressum