CLISP(1)                                                 CLISP(1)



NAME
       clisp - Common Lisp language interpreter and compiler

SYNOPSIS
       clisp  [  -h  |  --help ] [ --version ] [ --license ] [ -B
       lisplibdir ] [ -K linking-set ] [ -M memfile ] [  -m  mem-
       size  ] [ -L language ] [ -N localedir ] [ -Edomain encod-
       ing ] [ -q | --quiet | --silent ] [ -w ] [ -I ] [ -ansi  ]
       [  -traditional ] [ -p packagename ] [ -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  out-
       put  to  standard  output.  Invoked with -c, the specified
       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 containing 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-directory*.

       -K linking-set
              Specifies  the  linking  set  to  be run. This is a
              directory containing 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 compressed using GNU gzip.

       -m memsize
              Sets the amount of memory clisp tries  to  grab  on
              startup.   The amount may be given as nnnnnnn (mea-
              sured in bytes), nnnnK or nnnnKB (measured in kilo-
              bytes)  or  nM  or  nMB  (measured  in  megabytes).
              Default is  2  megabytes.   The  argument  is  con-
              strained above 100 KB.  -- This version of clisp is
              not likely to actually use the entire memsize since
              garbage  collection  will  periodically  reduce the
              amount of used memory.  It is therefore  common  to
              specify  10  MB  even  if only 2 MB are going to be
              used.

       -L language
              Specifies the language clisp  uses  to  communicate
              with  the user. This may be english, deutsch, fran-
              cais, espanol.  Other languages  may  be  specified
              through the environment variable LANG, provided the
              corresponding message catalog  is  installed.   The
              language  may be changed at run-time using the sym-
              bol macro *current-language*.

       -N localedir
              Specifies  the  base  directory  of  locale  files.
              clisp   will   search   its   message  catalogs  in
              localedir/language/LC_MESSAGES/clisp.mo.        The
              localedir may be changed at run-time using the sym-
              bol macro *current-language*.

       -Edomain encoding
              Specifies the encoding used  for  a  given  domain,
              overriding  the  default which depends on the envi-
              ronment 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 *foreign-encoding*,  or  misc,  affecting
              *misc-encoding*.

       -q, --quiet, --silent
              Quiet:  clisp  displays no banner at startup and no
              good-bye message when quitting.

       -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 unneces-
              sary prompts are not suppressed.  Furthermore,  the
              GNU  readline  library treats Tab as a normal self-
              inserting character.

       -ansi  ANSI CL compliant: comply with the ANSI CL specifi-
              cation even where CLISP has been traditionally dif-
              ferent.  It sets the symbol macro *ansi* to t.  See
              impnotes.html,  section  "Maximum  ANSI  CL compli-
              ance", 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.

       -i initfile ...
              Specifies  initialization  files  to  be  loaded at
              startup. These should be lisp files (source or com-
              piled).  Several  -i  options can be given; all the
              specified files will be loaded in order.

       -c lispfile ...
              Compiles  the  specified  lispfiles   to   bytecode
              (*.fas).  The  compiled  files  can  then be loaded
              instead of the sources to gain efficiency.

       -o outputfile
              Specifies the output file or directory for the com-
              pilation of the last specified lispfile.

       -l     A  bytecode listing (*.lis) of the files being com-
              piled will be produced.  Useful only for  debugging
              purposes. See the documentation 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 lisp-
              file is -, the standard 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-
        repository/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)
              to leave the current read-eval-print loop.

       arrow keys
              for editing and viewing the input history.

       Tab key
              to complete the symbol's name you are just  typing.

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

       *.c    C code, compiled from lisp source by clisp

ENVIRONMENT
       CLISP_LANGUAGE
              specifies the language clisp  uses  to  communicate
              with  the  user. The value may be english, deutsch,
              francais 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 character 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 deter-
              mining 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 (shell).

       TERM   determines the screen size recognized by the pretty
              printer.

SEE ALSO
       impnotes.html, cmucl(1), emacs(1), xemacs(1).

BUGS
       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  func-
       tions.

       Specify  a portable set of window and graphics operations.

AUTHORS
       Bruno Haible and Michael Stoll.



                           31 May 2001                   CLISP(1)
