CLISP(1)                                                 CLISP(1)



NAME
       clisp - Common Lisp language interpreter and compiler



SYNOPSIS
       clisp  [  -h  |  --help ] [ --version ] [ --license ] [ -B
       lisplibdir ] [ -M memfile ] [ -m memsize ] [ -L language ]
       [  -N  localedir  ] [ -Edomain encoding ] [ -q | --quiet |
       --silent ] [ -interactive-debug ] [ -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.  Directory lisplibdir can be changed at
              run-time using the symbol-macro *lib-directory*.



       -M memfile
              Specifies the initial memory image.  This must be a
              memory dump produced by the saveinitmem function.


       -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
              eventually uses the entire memsize.




       -L language
              Specifies  the  language  clisp uses to communicate
              with the user. This may be english.   The  language
              may  be  changed at run-time using the symbol 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*.   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 message 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  unneces-
              sary prompts are not suppressed.


       -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 _clisprc.lisp or
              _clisprc.fas in the home  directory  (user-homedir-
              pathname), 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.   If  lispfile
              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 pars-
              ing 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.





FILES
       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,  russian  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.








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


BUGS
       When you encounter a bug in clisp , please  report  it  to
       the              mailing             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 version?  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  com-
       piling the sources.


       5. What is the output of 'clisp --version' ?


       6.  Please  supply the full output (copy and paste) of all
       the error messages, 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 func-
       tions.


       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)
