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)