This is CLISP, a Common Lisp implementation.


What is LISP?
-------------

LISP is a programming language. It was invented by J. McCarthy in 1959.
There have been many dialects of it, but nowadays LISP has been standardized
and wide-spread due to the industrial standard COMMON LISP. There are
applications in the domains of symbolic knowledge processing (AI), numerical
mathematics (MACLISP yielded numerical code as good as FORTRAN), and
widely used programs like editors (EMACS) and CAD (AUTOCAD).
There is an introduction to the language:

  Sheila Hughes: Lisp. Pitman Publishing Limited, London 1986.
  107 pages.

After a while wou will need the standard text containing the language
definition:

  Guy L. Steele Jr.: Common Lisp - The Language. Digital Press.
  1. edition 1984, 465 pages.
  2. edition 1990, 1032 pages.

This book is available in HTML form via FTP from
  ftp.cs.cmu.edu:/user/ai/lang/lisp/doc/cltl/cltl_ht.tgz
and can be viewed through WWW under
  http://www.cs.cmu.edu:8001/Web/Groups/AI/html/cltl/cltl2.html or
  http://www.cs.cmu.edu:8001/afs/cs/project/ai-repository/ai/html/cltl/cltl2.html .

For experts: This standard text has emerged into an ANSI standard, which
you can exceptionally get free of charge from
  http://www.harlequin.com/books/HyperSpec/

LISP is run in an interactive environment. You input forms, and they will be
evaluated at once. Thus you can inspect variables, call functions with given
arguments or define your own functions.


Contents:
---------

It consists of the following files:

   base/lisp.a            main program, to be linked
   base/lispinit.mem      memory image needed for startup
   doc/clisp.1            manual page in Unix man format
   doc/clisp.man          manual page
   doc/clisp.html         manual page in HTML format
   doc/impnotes.html      implementation notes
   doc/clreadline.3       line editing manual page in Unix man format
   doc/clreadline.man     line editing manual page
   doc/LISP-tutorial.txt  LISP tutorial for beginners
   doc/CLOS-guide.txt     brief guide to CLOS
   README                 this text
   SUMMARY                short description of CLISP
   ANNOUNCE               announcement
   NEWS                   list of modifications since the last version
   COPYRIGHT              copyright notice
   GNU-GPL                free software license
   doc/readline.dvi       GNU readline library documentation
   doc/editors.txt        survey of editors with Lisp support
   emacs/*.el             Emacs customization, see doc/editors.txt
   src/clisp.c            source of driver program
   src/config.lsp         site-dependent configuration

and - to your convenience, if you like reading source -

   src/*.lsp              the source of lispinit.mem
   src/*.fas              the same files, already compiled

For building the executable, you also need:

   base/libreadline.a     GNU readline library

or

   base/libnoreadline.a   dummy replacement for the GNU readline library


Installation:
-------------

Type

         make

Change the strings in src/config.lsp, using a text editor.
Then start

         base/lisp.run -M base/lispinit.mem

When the LISP prompt

      > _

appears, type

        (compile-file "src/config.lsp")
        (load "src/config.fas")

and then

        (cd "base/")
        (saveinitmem)

to overwrite the file lispinit.mem with your configuration. Then

        (exit)

The rest is done by a simple

        make install

Instead, you may do this yourself, step by step:

Then create a directory, and put the executable and the memory image there.
I would suggest /usr/local/lib/lisp :

   mkdir /usr/local/lib/lisp
   mv base/lisp.run /usr/local/lib/lisp
   mv base/lispinit.mem /usr/local/lib/lisp

And create the driver program that starts lisp:

   ./hardcode -DLISPLIBDIR='/usr/local/lib/lisp' \
              -DLOCALEDIR='/usr/local/share/locale' \
              clisp /usr/local/bin/clisp

Now install the man pages

   mv doc/clisp.1 /usr/local/man/man1/clisp.1
   mv doc/clreadline.3 /usr/local/man/man3/clreadline.3

and try

   man clisp


When you encounter problems:
----------------------------

After errors, you are in the debugger:

     1. Break> _

You can evaluate forms, as usual. Furthermore:

     Help
               calles help
     Abort     or
     Unwind
               climbs up to next higher input loop
     Backtrace
               shows the contents of the stack, helpful for debugging

And you can look at the values of the variables of the functions where the
error occurred.

On bigger problems, e.g. core dumps, please send a description of the error
and how to produce it reliably to the authors or the maintainer. Please
accompany it with the CLISP version, which you get by calling
(lisp-implementation-version).


Sources:
--------

The sources of CLISP are available from
     ftp://clisp.cons.org/pub/lisp/clisp/source/clispsrc*
The latest binary distribution of CLISP for Linux has its sources in
     ftp://sunsite.unc.edu/pub/Linux/devel/lang/lisp/clisp-source.tar.gz


Mailing Lists:
--------------

There are three mailing lists for users of CLISP. You find subscription
information and archives on the homepage http://clisp.cons.org/.


Acknowledgement:
----------------

We are indebted to
  * Guy L. Steele and many others for the Common Lisp specification.
  * Richard Stallman's GNU project for GCC, Autoconf and the readline library.


Authors:
--------

        Bruno Haible
        Michael Stoll

Email: clisp-list@lists.sourceforge.net

Maintainer:
-----------

        Marcus Daniels

Email: marcus@sysc.pdx.edu
