clisp (1)
NAME
clisp - Common Lisp language interpreter and compiler
SYNOPSIS
clisp [ -h | --help ] [ --version ] [ --license ] [ -B lisplibdir ] [
-K linking-set ] [ -M memfile ] [ -m memsize ] [ -L language ] [ -N
localedir ] [ -Edomain encoding ] [ -q | --quiet | --silent ] [ -inter-
active-debug ] [ -w ] [ -I ] [ -ansi ] [ -traditional ] [ -p package-
name ] [ -C ] [ -norc ] [ -i initfile ... ] [ -c [ -l ] lispfile [ -o
outputfile ] ... ] [ -x expression ] [ lispfile [ argument ] ]
DESCRIPTION
Invokes the common lisp interpreter and compiler. Invoked without
arguments, executes a read-eval-print loop, in which expressions are in
turn read from standard input, evaluated by the lisp interpreter, and
their results output to standard output. Invoked with -c, the speci-
fied lisp files are compiled to a bytecode that can be executed more
efficiently.
OPTIONS
-h, --help
Displays a help message on how to use clisp.
--version
Displays the clisp version number, as given by the function call
(lisp-implementation-version).
--license
Displays a summary of the licensing information, the GNU GPL.
-B lisplibdir
Specifies the installation directory. This is the directory con-
taining the linking sets and other data files. This option is
normally not necessary, because the installation directory is
already built-in in the clisp executable. Directory lisplibdir
can be changed at run-time using the symbol-macro *lib-direc-
tory*.
-K linking-set
Specifies the linking set to be run. This is a directory con-
taining at least a main executable and an initial memory image.
Possible values are base, full. The default is base.
-M memfile
Specifies the initial memory image. This must be a memory dump
produced by the saveinitmem function. It may have been com-
pressed using GNU gzip.
-m memsize
Sets the amount of memory clisp tries to grab on startup. The
amount may be given as nnnnnnn (measured in bytes), nnnnK or
nnnnKB (measured in kilobytes) or nM or nMB (measured in
megabytes). Default is 2 megabytes. The argument is con-
strained above 100 KB. -- This version of clisp eventually uses
the entire memsize.
The localedir may be changed at run-time using the symbol macro
*current-language*.
-Edomain encoding
Specifies the encoding used for a given domain, overriding the
default which depends on the environment variables LC_ALL,
LC_CTYPE, LANG. domain can be file, affecting *default-file-
encoding*, or pathname, affecting *pathname-encoding*, or termi-
nal, affecting *terminal-encoding*, or foreign, affecting *for-
eign-encoding*, or misc, affecting *misc-encoding*. or blank,
affecting all of the above. Note that these values cannot be
saved in a memory image. You have to use the init file to set
them on startup.
-q, --quiet, --silent
Quiet: clisp displays no banner at startup and no good-bye mes-
sage when quitting.
-interactive-debug
Override the batch mode imposed by -c, -x, and lispfile and
allow interactive handling of ASSERT and friends.
-w Wait for keypress after program termination.
-I Be ILISP friendly. ILISP is an alternative Emacs interface to
Common Lisp systems. With this option, clisp interacts in a way
that ILISP can deal with. Currently the only effect of this is
that unnecessary prompts are not suppressed. Furthermore, the
GNU readline library treats Tab as a normal self-inserting char-
acter.
-ansi ANSI CL compliant: comply with the ANSI CL specification even
where CLISP has been traditionally different. It sets the sym-
bol macro *ansi* to t. See impnotes.html, section "Maximum ANSI
CL compliance", for details.
-traditional
Traditional: reverses the residual effects of -ansi in the saved
image.
-p packagename
At startup the value of the variable *package* will be set to
the package named packagename. The default is the package which
was active when the image was saved, normally USER, or COMMON-
LISP-USER if the option -a was specified.
-C Compile when load: At startup the value of the variable *load-
compiling* will be set to t. Code being loaded will then be
compiled on the fly. This results in slower loading, but faster
execution.
-norc Normally clisp loads a user run control (RC) file on startup
(this happens after the -C option is processed). The file
loaded is ${HOME}/.clisprc.lisp or ${HOME}/.clisprc.fas,
whichever is newest. This option, -norc, prevents loading of the
RC file.
-o outputfile
Specifies the output file or directory for the compilation of
the last specified lispfile.
-l A bytecode listing (*.lis) of the files being compiled will be
produced. Useful only for debugging purposes. See the documen-
tation of compile-file for details.
-x expressions
Executes a series of arbitrary expressions instead of a read-
eval-print loop. The values of the expressions will be output
to standard output. Due to the argument processing done by the
shell, the expressions must be enclosed in double quotes, and
double quotes and backslashes must be preceded by backslashes.
lispfile [argument ...]
Loads and executes a lispfile. There will be no read-eval-print
loop. Before lispfile is loaded, the variable *args* will be
bound to a list of strings, representing the arguments. The
first line of lispfile may start with #!, thus permitting clisp
to be used as a script interpreter. If lispfile is -, the stan-
dard input is used instead of a file. If lispfile is an empty
string , the rest of the arguments is still available in *args*
, for parsing by the init-function of the current image. This
option must be the last one. No RC file will be executed.
REFERENCE
The language implemented mostly conforms to
ANSI Common Lisp standard X3.226-1994
http://www.x3.org/tc_home/j13sd4.htm
available online as the
Common Lisp HyperSpec
http://www.lisp.org/HyperSpec/
("CLHS" for short)
which supersedes the earlier specifications
Guy L. Steele Jr.: Common Lisp - The Language.
Digital Press. 2nd edition 1990, 1032 pages.
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-reposi-
tory/ai/html/cltl/cltl2.html
("CLtL2" for short)
and
Guy L. Steele Jr.: Common Lisp - The Language.
Digital Press. 1st edition 1984, 465 pages.
("CLtL1" for short)
USE
help to get some on-line help.
(apropos name)
lists the symbols relating to name.
(exit) or (quit) or (bye)
to quit clisp.
EOF (Ctrl-D)
tions. If you are in the "filename position" (inside a string
after #P), the completion is done across file names,
bash(1)-style. If you have not started typing the next symbol
(i.e., you are at a whitespace), the current function or macro
is DESCRIBEd. Otherwise, the symbol you are currently typing is
completed.
FILES
clisp startup script
lisp.run
main executable
lispinit.mem
initial memory image
config.lisp
site-dependent configuration
*.lisp lisp source
*.fas lisp code, compiled by clisp
*.lib lisp source library information, generated and used by the clisp
compiler when compiling require forms
*.c C code, compiled from lisp source by clisp for the FFI
ENVIRONMENT
CLISP_LANGUAGE
specifies the language clisp uses to communicate with the user.
The value may be english, german, french, spanish, dutch, rus-
sian and defaults to english. The -L option can be used to
override this environment variable.
LC_CTYPE
specifies the locale which determines the character set in use.
The value can be of the form language or language_country or
language_country.charset, where language is a two-letter ISO 639
language code (lower case), and country is a two-letter ISO 3166
country code (upper case). charset is an optional character set
specification, and needs normally not be given because the char-
acter set can be inferred from the language and country.
LANG specifies the language clisp uses to communicate with the user,
unless it is already specified through the environment variable
CLISP_LANGUAGE or the -L option. It also specifies the locale
determining the character set in use, unless already specified
through the environment variable LC_CTYPE. The value may begin
with a two-letter ISO 639 language code, for example en, de, fr.
HOME and USER
are used for determining the value of the function user-homedir-
pathname. (Unix implementation only.)
SHELL (Unix implementation only)
is used to find the interactive command interpreter called by
list (see http://lists.sf.net/lists/listinfo/clisp-list ) or the
SourceForge bug tracker (see
http://sf.net/tracker/?func=add&group_id=1355&atid=101355 ).
When submitting a bug report, please specify the following information:
1. What is your platform? ( 'uname -a' on a Unix system) compiler ver-
sion? libc (on Linux)?
2. Where did you get the sources? When? (Absolute dates are preferred
over the relative ones)
3. How did you build clisp ? (What command, options etc.) Please do a
clean build (remove your build directory and build with './configure
--build build' or at least do a 'make distclean' before 'make' ). If
you are reporting a crash (segmentation fault, bus error, core dump
etc), please do './configure --with-debug --build build-g' and report
the backtrace.
4. If you are using pre-built binaries, the problem is likely to be in
the incompatibilities between the platform on which the binary was
built and yours; please try compiling the sources.
5. What is the output of 'clisp --version' ?
6. Please supply the full output (copy and paste) of all the error mes-
sages, as well as detailed instructions on how to reproduce them.
Known bugs, some of which may be platform-dependent, include
Not all extensions from CLtL2 are supported.
No on-line documentation beyond apropos and describe is available.
PROJECTS
Writing on-line documentation.
Enhance the compiler so that it can inline local functions.
Specify a portable set of window and graphics operations.
AUTHORS
Bruno Haible and Michael Stoll. See file COPYRIGHT for the list of the
other contributors and the license.
31 May 2001 clisp(1)