


CLISP(1)                                                             CLISP(1)



NAME
  clisp - Common Lisp language interpreter and compiler

SYNOPSIS
  cclliisspp [ --hh | ----hheellpp ] [ ----vveerrssiioonn ] [ ----lliicceennssee ] [ --BB _l_i_s_p_l_i_b_d_i_r ] [ --KK
  _l_i_n_k_i_n_g-_s_e_t ] [ --MM _m_e_m_f_i_l_e ] [ --mm _m_e_m_s_i_z_e ] [ --LL _l_a_n_g_u_a_g_e ] [ --NN _l_o_c_a_l_e_d_i_r
  ] [ --EE_d_o_m_a_i_n _e_n_c_o_d_i_n_g ] [ --qq | ----qquuiieett | ----ssiilleenntt ] [ --ww ] [ --II ] [ --aa ] [
  --pp _p_a_c_k_a_g_e_n_a_m_e ] [ --CC ] [ --nnoorrcc ] [ --ii _i_n_i_t_f_i_l_e ...  ] [ --cc [ --ll ] _l_i_s_p_f_i_l_e
  [ --oo _o_u_t_p_u_t_f_i_l_e ] ...  ] [ --xx _e_x_p_r_e_s_s_i_o_n ] [ _l_i_s_p_f_i_l_e [ _a_r_g_u_m_e_n_t ] ]

DESCRIPTION
  Invokes the common lisp interpreter and compiler.  Invoked without argu-
  ments, 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 --cc, the specified lisp
  files are compiled to a bytecode that can be executed more efficiently.

OPTIONS

  --hh, ----hheellpp
       Displays a help message on how to use cclliisspp.

  ----vveerrssiioonn
       Displays the cclliisspp version number, as given by the function call
       (_l_i_s_p-_i_m_p_l_e_m_e_n_t_a_t_i_o_n-_v_e_r_s_i_o_n).

  ----lliicceennssee
       Displays a summary of the licensing information, the GNU GPL.

  --BB _l_i_s_p_l_i_b_d_i_r
       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 cclliisspp executable.

  --KK _l_i_n_k_i_n_g-_s_e_t
       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 bbaassee, ffuullll.  The default is bbaassee.

  --MM _m_e_m_f_i_l_e
       Specifies the initial memory image.  This must be a memory dump pro-
       duced by the _s_a_v_e_i_n_i_t_m_e_m function.  It may have been compressed using
       GNU gzip.

  --mm _m_e_m_s_i_z_e
       Sets the amount of memory cclliisspp tries to grab on startup.  The amount
       may be given as _n_n_n_n_n_n_n (measured in bytes), _n_n_n_nKK or _n_n_n_nKKBB (measured
       in kilobytes) or _nMM or _nMMBB (measured in megabytes).  Default is 4
       megabytes.  The argument is constrained above 100 KB.  -- This version
       of cclliisspp allocates memory dynamically.  _m_e_m_s_i_z_e is essentially
       ignored.

  --LL _l_a_n_g_u_a_g_e
       Specifies the language cclliisspp uses to communicate with the user. This
       may be eenngglliisshh, ddeeuuttsscchh, ffrraannccaaiiss, Other languages may be specified
       through the environment variable LLAANNGG, provided the corresponding mes-
       sage catalog is installed.

  --NN _l_o_c_a_l_e_d_i_r
       Specifies the base directory of locale files.  cclliisspp will search its
       message catalogs in _l_o_c_a_l_e_d_i_r/_l_a_n_g_u_a_g_e/LC_MESSAGES/clisp.mo.

  --EE_d_o_m_a_i_n _e_n_c_o_d_i_n_g
       Specifies the encoding used for a given domain, overriding the default
       which depends on the environment variables LLCC__AALLLL, LLCC__CCTTYYPPEE, LLAANNGG.
       _d_o_m_a_i_n can be ffiillee, affecting **ddeeffaauulltt--ffiillee--eennccooddiinngg**, or ppaatthhnnaammee,
       affecting **ppaatthhnnaammee--eennccooddiinngg**, or tteerrmmiinnaall, affecting **tteerrmmiinnaall--
       eennccooddiinngg**, or ffoorreeiiggnn, affecting **ffoorreeiiggnn--eennccooddiinngg**, or mmiisscc, affect-
       ing **mmiisscc--eennccooddiinngg**.

  --qq, ----qquuiieett, ----ssiilleenntt
       Quiet: cclliisspp displays no banner at startup and no good-bye message
       when quitting.

  --ww   Wait for keypress after program termination.

  --II   Be ILISP friendly. ILISP is an alternative Emacs interface to Common
       Lisp systems. With this option, cclliisspp 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 character.

  --aa   ANSI CL compliant: Comply with the ANSI CL specification even on those
       issues where ANSI CL is broken. This option is provided for maximum
       portability of Lisp programs, and is not useful for actual everyday
       work. It sets the variable *_p_a_c_k_a_g_e* to CCOOMMMMOONN--LLIISSPP--UUSSEERR, and the sym-
       bol macro *_a_n_s_i* to tt.  See impnotes.html, section "Maximum ANSI CL
       compliance", for details.

  --pp _p_a_c_k_a_g_e_n_a_m_e
       At startup the value of the variable *_p_a_c_k_a_g_e* will be set to the
       package named _p_a_c_k_a_g_e_n_a_m_e.  The default is the package which was
       active when the image was saved, normally UUSSEERR, or CCOOMMMMOONN--LLIISSPP--UUSSEERR if
       the option --aa was specified.

  --CC   Compile when load: At startup the value of the variable *_l_o_a_d-
       _c_o_m_p_i_l_i_n_g* will be set to tt.  Code being _l_o_a_ded will then be compiled
       on the fly. This results in slower loading, but faster execution.

  --nnoorrcc
       Normally cclliisspp loads a user run control (RC) file on startup (this
       happens after the --CC option is processed).  The file loaded is
       $${{HHOOMMEE}}//..cclliisspprrcc..llsspp or $${{HHOOMMEE}}//..cclliisspprrcc..ffaass, whichever is newest.
       This option, --nnoorrcc,, prevents loading of the RC file.

  --ii _i_n_i_t_f_i_l_e ...
       Specifies initialization files to be _l_o_a_ded at startup. These should
       be lisp files (source or compiled). Several --ii options can be given;
       all the specified files will be loaded in order.

  --cc _l_i_s_p_f_i_l_e ...
       Compiles the specified _l_i_s_p_f_i_l_es to bytecode (*.fas). The compiled
       files can then be _l_o_a_ded instead of the sources to gain efficiency.

  --oo _o_u_t_p_u_t_f_i_l_e
       Specifies the output file or directory for the compilation of the last
       specified _l_i_s_p_f_i_l_e.

  --ll   A bytecode listing (*.lis) of the files being compiled will be pro-
       duced.  Useful only for debugging purposes. See the documentation of
       _c_o_m_p_i_l_e-_f_i_l_e for details.

  --xx _e_x_p_r_e_s_s_i_o_n_s
       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 _e_x_p_r_e_s_-
       _s_i_o_n_s must be enclosed in double quotes, and double quotes and
       backslashes must be preceded by backslashes.

  _l_i_s_p_f_i_l_e [_a_r_g_u_m_e_n_t ...]
       Loads and executes a _l_i_s_p_f_i_l_e.  There will be no read-eval-print loop.
       Before _l_i_s_p_f_i_l_e is loaded, the variable *_a_r_g_s* will be bound to a list
       of strings, representing the _a_r_g_u_m_e_n_ts.  The first line of _l_i_s_p_f_i_l_e
       may start with ##!!, thus permitting cclliisspp to be used as a script inter-
       preter.  If _l_i_s_p_f_i_l_e is --, the standard input is used instead of a
       file.  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.harlequin.com/education/books/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

  hheellpp to get some on-line help.

  ((aapprrooppooss _n_a_m_e))
       lists the symbols relating to _n_a_m_e.

  ((eexxiitt)) or ((qquuiitt)) or ((bbyyee))
       to quit cclliisspp.

  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

  _c_l_i_s_p
       startup script

  _l_i_s_p._r_u_n
       main executable

  _l_i_s_p_i_n_i_t._m_e_m
       initial memory image

  _c_o_n_f_i_g._l_s_p
       site-dependent configuration

  *._l_s_p
       lisp source

  *._f_a_s
       lisp code, compiled by cclliisspp

  *._l_i_b
       lisp source library information, generated and used by the cclliisspp com-
       piler

  *._c  C code, compiled from lisp source by cclliisspp

ENVIRONMENT

  CCLLIISSPP__LLAANNGGUUAAGGEE
       specifies the language cclliisspp uses to communicate with the user. The
       value may be eenngglliisshh, ddeeuuttsscchh, ffrraannccaaiiss and defaults to eenngglliisshh.  The
       --LL option can be used to override this environment variable.

  LLCC__CCTTYYPPEE
       specifies the locale which determines the character set in use.  The
       value can be of the form _l_a_n_g_u_a_g_e or _l_a_n_g_u_a_g_e__c_o_u_n_t_r_y or
       _l_a_n_g_u_a_g_e__c_o_u_n_t_r_y._c_h_a_r_s_e_t, where _l_a_n_g_u_a_g_e is a two-letter ISO 639
       language code (lower case), and _c_o_u_n_t_r_y is a two-letter ISO 3166 coun-
       try code (upper case).  _c_h_a_r_s_e_t is an optional character set specifi-
       cation, and needs normally not be given because the character set can
       be inferred from the language and country.

  LLAANNGG specifies the language cclliisspp uses to communicate with the user, unless
       it is already specified through the environment variable
       CCLLIISSPP__LLAANNGGUUAAGGEE or the --LL option.  It also specifies the locale deter-
       mining the character set in use, unless already specified through the
       environment variable LLCC__CCTTYYPPEE.  The value may begin with a two-letter
       ISO 639 language code, for example eenn, ddee, ffrr.

  HHOOMMEE and UUSSEERR
       are used for determining the value of the function _u_s_e_r-_h_o_m_e_d_i_r-
       _p_a_t_h_n_a_m_e.  (Unix implementation only.)

  SSHHEELLLL (Unix implementation only)
       is used to find the interactive command interpreter called by (_s_h_e_l_l).

  TTEERRMM determines the screen size recognized by the pretty printer.  This
       environment variable is also mandatory for the built-in screen editor.

SEE ALSO
  impnotes.html, _c_m_u_c_l(1), _x_e_m_a_c_s(1).

BUGS

  The function _i_n_s_p_e_c_t is not implemented.

  Not all extensions from CLtL2 are supported.

  No on-line documentation beyond _a_p_r_o_p_o_s and _d_e_s_c_r_i_b_e is available.

PROJECTS

  Writing on-line documentation.


  Write _i_n_s_p_e_c_t.

  Enhance the compiler such that it can inline local functions.

  Specify a portable set of window and graphics operations.

AUTHORS
  Bruno Haible <haible@clisp.cons.org> and Michael Stoll.
































































