<HEAD>
<TITLE> CLISP manual page </TITLE>
</HEAD>
<BODY>
<H1>CLISP manual page</H1>

<UL>
<LI> <A HREF="#Name">Name</A>
<LI> <A HREF="#Synopsis">Synopsis</A>
<LI> <A HREF="#Description">Description</A>
<LI> <A HREF="#Options">Options</A>
<LI> <A HREF="#Reference">Reference</A>
<LI> <A HREF="#Use">Use</A>
<LI> <A HREF="#Files">Files</A>
<LI> <A HREF="#Environment">Environment</A>
<LI> <A HREF="#See also">See also</A>
<LI> <A HREF="#Bugs">Bugs</A>
<LI> <A HREF="#Projects">Projects</A>
<LI> <A HREF="#Authors">Authors</A>
</UL>
<P>

<HR>

<A NAME="Name">
<H2>Name</H2>
</A>

<CODE>clisp</CODE> - Common Lisp language interpreter and compiler

<A NAME="Synopsis">
<H2>Synopsis</H2>
</A>

<CODE>clisp</CODE>
[ <A HREF="#Option -h"><CODE>-h</CODE></A> ]
[ <A HREF="#Option -m"><CODE>-m</CODE> <EM>memsize</EM></A> ]
[ <A HREF="#Option -M"><CODE>-M</CODE> <EM>memfile</EM></A> ]
[ <A HREF="#Option -L"><CODE>-L</CODE> <EM>language</EM></A> ]
[ <A HREF="#Option -q"><CODE>-q</CODE></A> ]
[ <A HREF="#Option -I"><CODE>-I</CODE></A> ]
[ <A HREF="#Option -i"><CODE>-i</CODE> <EM>initfile</EM> ...</A> ]
[ <A HREF="#Option -c"><CODE>-c</CODE> [ <CODE>-l</CODE> ] <EM>lispfile</EM> [ <CODE>-o</CODE> <EM>outputfile</EM> ] ...</A> ]
[ <A HREF="#Option -x"><CODE>-x</CODE> <EM>expression</EM></A> ]

<A NAME="Description">
<H2>Description</H2>
</A>

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 <A HREF="#Option -c"><CODE>-c</CODE></A>,
the specified lisp files are compiled to a bytecode that can be executed
more efficiently.

<A NAME="Options">
<H2>Options</H2>
</A>

<DL>

<DT> <A NAME="Option -h"> <CODE>-h</CODE> </A>
<DD> Displays a help message on how to use <CODE>clisp</CODE>.
<P>

<DT> <A NAME="Option -m"> <CODE>-m</CODE> <EM>memsize</EM> </A>
<DD> Sets the amount of memory <CODE>clisp</CODE> tries to grab
on startup. The amount may be given as <EM>nnnnnnn</EM> (measured in bytes),
<EM>nnnn</EM> <CODE>K</CODE> or <EM>nnnn</EM> <CODE>KB</CODE> (measured in kilobytes) or
<EM>n</EM> <CODE>M</CODE> or <EM>n</EM> <CODE>MB</CODE> (measured in megabytes).
Default is 2 megabytes.
The argument is constrained between 100 KB and 16 MB.
-- This version of <CODE>clisp</CODE> allocates memory dynamically.
<EM>memsize</EM> is essentially ignored.
<P>



<DT> <A NAME="Option -M"> <CODE>-M</CODE> <EM>memfile</EM> </A>
<DD> Specifies the initial memory image.
This must be a memory dump produced by the <EM>saveinitmem</EM> function.

<DT> <A NAME="Option -L"> <CODE>-L</CODE> <EM>language</EM> </A>
<DD> Specifies the language <CODE>clisp</CODE>
uses to communicate with the user. This may be
<CODE>english</CODE>, <CODE>deutsch</CODE>, <CODE>francais</CODE>.
<P>

<DT> <A NAME="Option -q"> <CODE>-q</CODE> </A>
<DD> Quiet: <CODE>clisp</CODE>
displays no banner at startup and no good-bye message when quitting.
<P>

<DT> <A NAME="Option -I"> <CODE>-I</CODE> </A>
<DD> ILISP friendly: <CODE>clisp</CODE>
interacts in a way that ILISP (a popular Emacs LISP interface) can deal with.
Currently the only effect of this is that unnecessary prompts are not
suppressed.
<P>

<DT> <A NAME="Option -i"> <CODE>-i</CODE> <EM>initfile</EM> ... </A>
<DD> Specifies initialization files to be <CODE>load</CODE>ed
at startup. These should be lisp files (source or compiled).
<P>

<DT> <A NAME="Option -c"> <CODE>-c</CODE> <EM>lispfile</EM> ... </A>
<DD> Compiles the specified <EM>lispfile</EM>s to bytecode. The compiled files
can then be <CODE>load</CODE>ed instead of the sources to gain efficiency.
<P>

<DT> <A NAME="Option -o"> <CODE>-o</CODE> <EM>outputfile</EM> </A>
<DD> Specifies the output file or directory for the compilation of the last
specified <EM>lispfile</EM>.
<P>

<DT> <A NAME="Option -l"> <CODE>-l</CODE> </A>
<DD> A bytecode listing of the files being compiled will be produced.
Useful only for debugging purposes.
<P>

<DT> <A NAME="Option -x"> <CODE>-x</CODE> <EM>expressions</EM> </A>
<DD> 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 <EM>expressions</EM>
must be enclosed in single quotes, and double quotes and backslashes must
be preceded by backslashes.
<P>

</DL>


<A NAME="Reference">
<H2>Reference</H2>
</A>

The language implemented conforms to

<BLOCKQUOTE>
      Guy L. Steele Jr.: Common Lisp - The Language.
      Digital Press. 1st edition 1984, 465 pages.
      ("CLtL1" for short)
</BLOCKQUOTE>

and to the older parts of
<BLOCKQUOTE>
      Guy L. Steele Jr.: Common Lisp - The Language.
      Digital Press. 2nd edition 1990, 1032 pages.
      ("CLtL2" for short)
</BLOCKQUOTE>

<A NAME="Use">
<H2>Use</H2>
</A>

<DL>

<DT> <CODE>help</CODE>
<DD> to get some on-line help.
<P>

<DT> <CODE>(apropos </CODE><EM>name</EM><CODE>)</CODE>
<DD> lists the symbols relating to <EM>name</EM>.
<P>

<DT> <CODE>(exit)</CODE> or <CODE>(quit)</CODE> or <CODE>(bye)</CODE>
<DD> to quit <CODE>clisp</CODE>.
<P>

<DT>
EOF (Ctrl-D)
<DD> to leave the current read-eval-print loop.
<P>


</DL>

<A NAME="Files">
<H2>Files</H2>
</A>

<DL>


<DT>
<CODE>lisp</CODE>
<DD> main executable
<P>

<DT>
<CODE>lispinit.mem</CODE>
<DD> initial memory image
<P>

<DT>
<CODE>config.lsp</CODE>
<DD> site-dependent configuration
<P>

<DT>
<CODE>*.lsp</CODE>
<DD> lisp source
<P>

<DT>
<CODE>*.fas</CODE>
<DD> lisp code, compiled by <CODE>clisp</CODE>
<P>

<DT>
<CODE>*.lib</CODE>
<DD> lisp source library information, generated and used by the
<CODE>clisp</CODE> compiler
<P>

</DL>


<A NAME="Environment">
<H2>Environment</H2>
</A>

<DT> <CODE>CLISP_LANGUAGE</CODE>
<DD> specifies the language
<CODE>clisp</CODE>
uses to communicate with the user. The value may be
<CODE>english</CODE>, <CODE>deutsch</CODE>, <CODE>francais</CODE>
and defaults to <CODE>english</CODE>.
The <A HREF="#Option -L"><CODE>-L</CODE></A> option can be used to override this environment variable.
<P>






</DL>


<A NAME="See also">
<H2>See also</H2>
</A>

<CODE>cmulisp</CODE>(1), <CODE>emacs</CODE>(1).


<A NAME="Bugs">
<H2>Bugs</H2>
</A>

<UL>
<LI> The function <CODE>inspect</CODE> is not implemented.
<LI> Only very few extensions from CLtL2 are supported.
<LI> No on-line documentation beyond <CODE>apropos</CODE> and <CODE>describe</CODE>
is available.
</UL>

<A NAME="Projects">
<H2>Projects</H2>
</A>

<UL>
<LI> Writing on-line documentation.
<LI> Building a foreign function interface (ability to call C code directly).
<LI> Write <CODE>inspect</CODE>.
<LI> Enhance the compiler such that it can inline local functions.
<LI> Specify a portable set of window and graphics operations.
</UL>

<A NAME="Authors">
<H2>Authors</H2>
</A>

Bruno Haible <TT>&lt;haible@ma2s2.mathematik.uni-karlsruhe.de&gt;</TT>
and Michael Stoll.
<P>

<HR>

<ADDRESS>CLISP manual page / Bruno Haible &lt;haible@ma2s2.mathematik.uni-karlsruhe.de&gt;</ADDRESS>
<P>
Last modified: 1 January 1995.

</BODY>

