LISP(1) General Commands Manual LISP(1)NAME
lisp - lisp interpreter
SYNOPSIS
lisp
DESCRIPTION
Lisp is a provisional lisp interpreter. It only runs in eval mode. Built in functions are named in lower case, and case is distinguished.
It is being transmuted from a subset of lisp as provided by the Harvard UNIX lisp in use at UCB, to a subset of MIT's MACLISP.
The following functions are provided as machine code:
Lambda functions:
atom dptr load putd rplacd
bcdp drain null putprop set
car eq numberp ratom terpr
cdr equal outfile read
close eval patom readc
concat get pntlen retbrk
cons getd portp return
cont infile print rplaca
Nlambda functions (possibly simulating ones which are normally lambdas):
add1 difference onep quotient zerop
and exit or reset
break go plus setq
cond minus product sub1
cond mod prog sum
def not quote times
The following functions are provided as lisp code (and at the moment must be read in by saying (load 'auxfns):
add copy length numbp
append defevq linelength pp_etc
apply* defprop member reverse
charcnt defprop memcar terpri
chrct diff memcdr
conc last nconc
All of the above functions are documented in the ``Harvard Lisp Manual.''
The following functions are provided as in MIT's MACLISP.
alphalessp do mapc setsyntax
apply explodec mapcar throw
ascii exploden prog2 tyi
catch funcall progn tyipeek
defun implode progv tyo
``Hairy control structure'' is provided by the Nlambda (process command inport outport) where command is an atom whose print name is some
command that you would wish typed at the terminal, e.g. ``neqn | nroff -ms''; where inport and outport are atoms which will be bound to
port descriptors for use in communication with the subprocess. Inport is a port to a pipe which will be read by the subprocess as its
standard input. If Inport is nil (or not present), the subprocess inherits the standard input, and lisp waits for the subprocess to die.
If Inport is the atom t lisp continues without waiting.
AUTHORS
Originally written by Jeff Levinsky, Mike Curry, and John Breedlove. Keith Sklower made it work and is maintaining the current version.
The garbage collector was implemented by Bill Rowan.
SEE ALSO
Harvard UNIX Lisp Manual
MACLISP Manual
UCB Franz Lisp Manual
BUGS
The status bits for setsyntax are not the same as for MACLISP.
Closing down a pipe doesn't always seem to work correctly.
Arrays are not implemented in version 1.
3rd Berkeley DistributionLISP(1)
Check Out this Related Man Page
GCL(1L)GCL(1L)NAME
gcl - GCL Common Lisp interpreter/compiler, CVS snapshot
SYNOPSIS
gcl [ options ]
DESCRIPTION
The program gcl is an implementation of a subset of the Common Lisp Ansi standard. It is written in C and in Common Lisp, and is highly
portable. It includes those features in the original definition of Common Lisp, (Guy Steele version 1.), as well as some features from
the proposed new standard.
The best documentation is available in texinfo/info form, with there being three groups of information. gcl-si for basic common lisp
descriptions, and features unique to gcl The gcl-tk info refers to the connection with tk window system, allowing all the power of the
tcl/tk interaction system to be used from lisp. The third info file gcl details the Ansi standard for common lisp, to which this subset
tries to adhere. It is highly recommended to write programs, which will be in the intersection of gcl and ansi common lisp. Unfortu-
nately the Ansi standard is huge, and will require a substantial effort, and increase in the size of gcl, to include all of it.
When gcl is invoked from the shell, the variable si::*command-args* is set to the list of command line arguments. Various options are
understood:
-eval command
Call read and then eval on the command passed in.
-load pathname
Load the file whose pathname is specified after -load.
-f Replace si::*command-args* by the the list starting after -f. Open the file following -fforinput,skipthefirstline,and then read and
eval the rest of the forms in the file. This can be used as with the shells to write small shell programs:
#!/usr/local/bin/gcl.exe -f
(format t "hello world ~a~%" (nth 1 si::*command-args*))
The value si::*command-args* will have the appropriate value. Thus if the above 2 line file is made executable and called foo then
tutorial% foo billy
hello world billy
NOTE: On many systems (eg SunOs) the first line of an executable script file such as: #!/usr/local/bin/gcl.exe -f only reads the first
32 characters! So if your pathname where the executable together with the '-f' amount to more than 32 characters the file will not be
recognized. Also the executable must be the actual large binary file, [or a link to it], and not just a /bin/sh script. In latter case
the /bin/sh interpreter would get invoked on the file.
Alternately one could invoke the file foo without making it executable:
tutorial% gcl -f foo "from bill"
hello world from bill
-batch Do not enter the command print loop. Useful if the other command line arguments do something. Do not print the License and
acknowledgement information. Note if your program does print any License information, it must print the GCL header information
also.
-dir Directory where the executable binary that is running is located. Needed by save and friends. This gets set as si::*system-direc-
tory*
-libdir
-libdir /d/wfs/gcl-2.0/
would mean that the files like gcl-tk/tk.o would be found by concatting the path to the libdir path, ie in /d/wfs/gcl-2.0/gcl-
tk/tk.o
-compile
Invoke the compiler on the filename following -compile Other flags affect compilation.
-o-file
If nil follows -o-file then do not produce an .o file.
-c-file
If -c-file is specified, leave the intermediate .c file there.
-h-file
If -h-file is specified, leave the intermediate .h file there.
-data-file
If -data-file is specified, leave the intermediate .data file there.
-system-p
If -system-p is specified then invoke compile-file with the :system-p t keyword argument, meaning that the C init function will bear
a name based on the name of the file, so that it may be invoked by name by C code.
This GNU package should not be confused with the proprietary program distributed by FRANZ, Inc. Nor should it be confused with any
public domain or proprietary lisp system.
For anything other than program development, use of the lisp compiler is strongly recommended in preference to use of the inter-
preter, due to much higher speed.
FILES
/usr/bin/gcl
executable shell script wrapper
/usr/lib/gcl-version/unixport/saved[_flavor]_gcl
executable lisp images
SEE ALSO
Common LISP: The Language, Guy L. Steele, Jr., Digital Press, Bedford, MA, 1984.
Common LISPcraft, Robert Wilensky, W. W. Norton & Co., New York, 1984.
AUTHORS
The GCL system contains C and Lisp source files to build a Common Lisp sytem. CGL is derived from Kyoto Common LISP (kcl), which was writ-
ten in 1984 by T. Yuasa and M. Hagiya (working under Professor R. Nakajima at the Research Institute for Mathematical Sciences, Kyoto Uni-
versity). The AKCL system work was begun in 1987 by William Schelter at the University of Texas, Austin, and continued through 1994. In
1994 AKCL was released as GCL (GNU Common Lisp) under the GNU public library license.
17 March 1997 GCL(1L)