Dies ist CLISP, eine Implementierung von COMMON LISP.


Was ist LISP?
-------------

LISP ist eine Programmiersprache, die 1959 von J. McCarthy erfunden wurde.
Frher gab's viele verschiedene Dialekte, heute ist LISP durch den Industrie-
Standard COMMON LISP standardisiert und weit verbreitet worden. Anwendungen
reichen von der symbolischen Wissensverarbeitung (KI) ber die Numerik
(MACLISP lieferte einen ebensoguten Numerik-Code wie FORTRAN) bis hin zu
verbreiteten Programmen wie Editoren (EMACS) oder CAD-Systemen (AUTOCAD).
Eine Einfhrung in die Sprache ist:

  Sheila Hughes: Lisp. Pitman Publishing Limited, London 1986.
  107 Seiten. ca. DM 15,80.

Nach einiger Zeit unentbehrlich ist das Standardwerk mit der Sprachdefinition

  Guy L. Steele Jr.: Common Lisp - The Language. Digital Press.
  1. Auflage 1984, 465 Seiten, ca. DM 73,60.
  2. Auflage 1990, 1032 Seiten. ca. DM 94,90.

LISP liegt in einer interaktiven Umgebung vor, d.h. man gibt Formen ein, die
dann sofort ausgewertet werden. So kann man Variablen inspizieren, Funktionen
mit wechselnden Argumenten aufrufen oder auch eigene Funktionen definieren.


Inhalt:
-------

Zu CLISP gehren folgende Dateien:

      lisp.a           Hauptprogramm, mu erst noch gelinkt werden
      lispinit.mem     beim Start bentigtes Speicherabbild
      clisp.1          Benutzungshinweise im man-Format von Unix
      clisp.man        Benutzungshinweise
      impnotes.txt     Dokumentation von Implementierungsdetails
      README           dies hier
      SUMMARY          Kurzbeschreibung von CLISP
      ANNOUNCE         Ankndingung
      COPYRIGHT        Klarstellung des Urheberrechts
      GNU-GPL          Gebrauchslizenz fr Offene Software
      readline.dvi     Dokumentation zur GNU Readline-Bibliothek
      config.lsp       rtliche Konfiguration

und - als Zugabe, fr den Fall, da Sie Quellen lesen mchten -

      *.lsp            die Quellen zu lispinit.mem
      *.fas            dieselben Dateien in compilierter Form

Um das ausfhrbare Programm zu erstellen, brauchen Sie ferner:

      libreadline.a    die GNU Readline-Bibliothek

oder

      libnoreadline.a  wertloser Ersatz fr die GNU Readline-Bibliothek


Software-Voraussetzungen:
-------------------------

Diese CLISP-Version setzt Linux 0.99.7 oder neuer voraus.
/dev/zero mu von jedermann lesbar sein. Um das sicherzustellen, knnen Sie
ein "chmod a+r /dev/zero" ausfhren.


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

Um das ausfhrbare Programm zu erstellen, geben Sie ein:

         cc lisp.a -L. -lnoreadline -ltermcap -s -o lisp.run

oder
- wenn Sie die Editiermglichkeiten der GNU Readline-Bibliothek haben mchten -

         cc lisp.a -L. -lreadline -ltermcap -s -o lisp.run

Passen Sie die Strings innerhalb von config.lsp mit einem Texteditor an.
Starten Sie dann

         lisp.run -M lispinit.mem

Auf den LISP-Prompt

      > _

hin eingeben:

        (compile-file "config")
        (load "config")

und dann

        (saveinitmem)

Damit berschreiben Sie die Datei lispinit.mem mit Ihrer Konfiguration. Sodann

        (exit)

Legen Sie ein Verzeichnis an und legen Sie das ausfhrbare Programm und das
Speicherabbild dort ab.
Ich schlage hierfr /usr/local/lib/lisp vor:

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

Und erstellen Sie ein Shell-Script, das Lisp startet:

   cat > /usr/local/bin/clisp
   #!/bin/sh
   exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
   [Ctrl-D]EOF
   chmod a+x /usr/local/bin/clisp

Installieren Sie nun die Benutzungshinweise

   mv clisp.1 /usr/local/man/man1/clisp.1

and probieren Sie

   man clisp


Wenn's Probleme gibt:
---------------------

Bei Errors befindet man sich im Debugger:

     1. Break> _

Hier kann man wie blich Formen auswerten.
Auerdem:

     Help
               ruft Hilfestellung an.
     Abort     oder
     Unwind
               steigt hoch in die nchsthhere Hauptschleife.
     Backtrace
               zeigt den Stackinhalt an. Das hilft bei der Fehlersuche.

Auerdem kann man sich die Werte der Variablen der Funktion anzeigen lassen,
in der der Fehler passierte.

Bei greren Problemen, z.B. harten Abstrzen, bitte Fehlerbeschreibung
und reproduzierbare Vorgehensweise zur Erzeugung dieses Fehlers an die
Autoren senden.


Mailing-Liste:
--------------

Fr die Benutzer von CLISP gibt es eine Mailing-Liste. Sie ist das geeignete
Korrespondenz-Forum fr Fragen betreffend CLISP, Installationsprobleme,
Fehlerbeschreibungen, Anwendungs-Pakete usw.

Information ber die Liste und wie man sie abonniert erhalten Sie, wenn Sie
an listserv@ma2s2.mathematik.uni-karlsruhe.de eine Mail des folgenden Inhalts
schicken:
          help
          information clisp-list


Dank:
-----

Wir schulden Dank
  * Guy L. Steele und vielen anderen fr die Spezifikation von Common Lisp.
  * dem GNU-Projekt von Richard Stallman fr GCC, Autoconf und die
    Readline-Bibliothek.


Autoren:
--------

        Bruno Haible                    Michael Stoll
        Augartenstrae 40               Gallierweg 39
    D - 76137 Karlsruhe             D - 53117 Bonn
        Deutschland                     Deutschland

Email: haible@ma2s2.mathematik.uni-karlsruhe.de
