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.  Other  flags  affect
91compilation.
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.  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

FILES

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

SEE ALSO

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

AUTHORS

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