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

NAME

6       gcl - GCL Common Lisp interpreter/compiler, CVS snapshot
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  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

FILES

130       /usr/bin/gcl
131              executable shell script wrapper
132
133       /usr/lib/gcl-version/unixport/saved[_flavor]_gcl
134              executable lisp images
135

SEE ALSO

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

AUTHORS

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