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.exe         Hauptprogramm
      lisp_1mb.exe     Hauptprogramm, fr Leute mit nur 1 oder 2 MB RAM
      lispinit.mem     beim Start bentigtes Speicherabbild
      clisp.1          Benutzungshinweise im man-Format von Unix
      clisp.man        Benutzungshinweise
      clisp.dvi        Benutzungshinweise im DVI-Format
      impnotes.txt     Dokumentation von Implementierungsdetails
      emx-user.doc     Benutzungshinweise fr EMX-Anwendungen
      emx-faq.doc      Frage-/Antwort-Katalog fr EMX-Anwendungen
      delay.exe        Hilfsprogramm zum Betrieb unter Windows
      README           dies hier
      SUMMARY          Kurzbeschreibung von CLISP
      ANNOUNCE         Ankndingung
      COPYRIGHT        Klarstellung des Urheberrechts
      GNU-GPL          Gebrauchslizenz fr Offene Software
      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


Hardware-Voraussetzungen:
-------------------------

Diese DOS-Version von CLISP setzt als CPU einen 80386 (SX oder DX) oder einen
80486 sowie mindestens 1 MB RAM voraus.


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

Passen Sie den Inhalt von config.lsp, insbesondere die Definitionen von
short-site-name und long-site-name, an Ihre rtlichen Gegebenheiten an.
Vielleicht mchten Sie auch die Zeitzonendefinition in defs1.lsp ndern.
Starten Sie dann

         lisp.exe -M lispinit.mem

Auf den LISP-Prompt

      > _

hin eingeben:

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

und - falls Sie defs1.lsp verndert haben -

        (compile-file "defs1")
        (load "defs1")

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.
Angenommen, Sie whlen dafr D:\LIB\LISP :

   mkdir d:\lib\lisp
   copy lisp.exe d:\lib\lisp
   copy lispinit.mem d:\lib\lisp

Und erstellen Sie eine Kommando-Datei, die Lisp startet:

   copy con c:\bat\clisp.bat
   d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
   [Ctrl-Z]


Installation unter Microsoft Windows:
-------------------------------------

CLISP luft auch in der DOS-Box von Microsoft Windows 3.1.
Dazu sind folgende zustzliche Schritte notwendig:

1. Besorgen Sie sich
     ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/dos/clisp-deutsch.zip
   und installieren Sie es, wie oben angegeben. Zustzlich

   copy delay.exe d:\lib\lisp

2. Besorgen Sie sich RSX
     ftp.uni-kl.de:/pub/pc/dos/programming/c/dpmigcc1.zip
   und installieren Sie es.

3. Erstellen Sie eine Kommando-Datei, die Lisp startet:

   copy con c:\bat\winclisp.bat
   d:\lib\lisp\delay.exe 1
   c:\rsx\bin\rsx.exe d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
   [Ctrl-Z]

   (Die Pfade hngen natrlich von Ihrer Installation ab.)

4. Rufen Sie den PIF-Editor auf und tragen Sie dort ein:

   Programmdateiname:      c:\bat\winclisp.bat
   Programmtitel:          COMMON LISP
   Programmparameter:      
   Anfangsverzeichnis:     e:\lisp
   Bildschirmspeicher:     Text
   Speicherbedarf:         bentigt:  500      gewnscht:  640
   EMS-Speicher:           bentigt:    0      gewnscht:    0
   XMS-Speicher:           bentigt: 1024      gewnscht:   -1
   Anzeige:                        [nach Belieben]
   Fenster_schlieen_bei_Beenden:  [nach Belieben]
   Ausfhrung:                     [nach Belieben]
   weitere_Optionen:               [nach Belieben]

   (Als Anfangsverzeichnis, hier e:\lisp, sollten Sie zweckmigerweise
   das Verzeichnis whlen, in dem Ihre Lisp-Programme sitzen.)

   Das Ganze speichern Sie unter dem Namen WINCLISP.PIF ab.

5. Im Programm-Manager in einer geeigneten Gruppe:

   Men "Datei" -> "Neu" -> "Programm", Fenster "Programmeigenschaften".
   Tragen Sie dort ein:

   Beschreibung:           COMMON LISP
   Befehlszeile:           winclisp.pif
   Anfangsverzeichnis:     e:\lisp
   Tastenkombination:      Ctrl+Alt+Shift+L      [nach Belieben]

Mausclick auf das so erzeugte Pictogramm bzw. die o.a. Tastenkombination
starten nun CLISP.

Bemerkungen:

* Wenn Sie Kommandozeilen-Parameter an CLISP bergeben wollen, tragen Sie im
  PIF-Editor unter "Programmparameter" ein "?" ein. Dann knnen Sie jedesmal
  Argumente an WINCLISP.BAT bergeben.

* Cut & Paste in DOS-Boxen (via Men "Bearbeiten" -> "Markieren" bzw.
  Men "Bearbeiten" -> "Einfgen") hat den Nachteil, da beim Einfgen ein
  <Enter> angefgt wird. Man kann die Zeile daher nicht nach-editieren.

* Die in CLISP.MAN erwhnten Editiermechanismen funktionieren jedoch.

* Durch Programmierfehler in Microsoft Windows und/oder RSX kann es bisweilen
  zu Systemabstrzen kommen. (Das ist auch der Grund, warum DELAY.EXE ntig
  ist.) Viel Glck!


Der Editor:
-----------

Normalerweise ruft die Funktion ED von CLISP den Editor auf, den Sie in
config.lsp angegeben haben. Nach Ausfhrung von

    (load "editor")

ruft sie dagegen den eingebauten Bildschirmeditor auf. Er erinnert ein wenig
an Emacs: Sie knnen aus dem Editor heraus Lisp-Ausdrcke auswerten, und das
Ergebnis wird in den Editor-Puffer eingefgt. Den vollen Befehlssatz ersehen
Sie durch Drcken von Alt-H.


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

Sollte clisp berhaupt nicht gestartet werden knnen, konsultieren Sie
EMX-USER.DOC. lisp.exe ist eine EMX-Anwendung. Was dort ber EMX-Anwendungen
gesagt wird, trifft auch auf lisp.exe zu.

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.
     (show-stack)
               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:
-----

Wenn Sie CLISP schnell und fehlerfrei finden und damit arbeiten mgen, wren
wir ber ein Geschenk von z.B. 40 DM (der Betrag steht Ihnen frei) dankbar.
Die meisten DOS-Programme kosten etwas; Sie sind das Bezahlen deswegen
vermutlich schon gewhnt.

Wenn nicht, scheuen Sie sich nicht, uns Verbesserungsvorschlge zu schicken.
Oder holen Sie sich die Quellen von CLISP, verbessern Sie es selber und
schicken uns Ihre Modifikationen.

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


Autoren:
--------

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

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