home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / D / CLISP / CLISPSRC.TAR / clisp-1995-01-01 / src / _README < prev    next >
Encoding:
Text File  |  1995-01-01  |  31.7 KB  |  1,150 lines

  1. #if DEUTSCH
  2. Dies ist CLISP, eine Implementierung von COMMON LISP.
  3.  
  4.  
  5. Was ist LISP?
  6. -------------
  7.  
  8. LISP ist eine Programmiersprache, die 1959 von J. McCarthy erfunden wurde.
  9. Frⁿher gab's viele verschiedene Dialekte, heute ist LISP durch den Industrie-
  10. Standard COMMON LISP standardisiert und weit verbreitet worden. Anwendungen
  11. reichen von der symbolischen Wissensverarbeitung (KI) ⁿber die Numerik
  12. (MACLISP lieferte einen ebensoguten Numerik-Code wie FORTRAN) bis hin zu
  13. verbreiteten Programmen wie Editoren (EMACS) oder CAD-Systemen (AUTOCAD).
  14. Eine Einfⁿhrung in die Sprache ist:
  15.  
  16.   Sheila Hughes: Lisp. Pitman Publishing Limited, London 1986.
  17.   107 Seiten. ca. DM 15,80.
  18.  
  19. Nach einiger Zeit unentbehrlich ist das Standardwerk mit der Sprachdefinition
  20.  
  21.   Guy L. Steele Jr.: Common Lisp - The Language. Digital Press.
  22.   1. Auflage 1984, 465 Seiten, ca. DM 73,60.
  23.   2. Auflage 1990, 1032 Seiten. ca. DM 94,90.
  24.  
  25. Dieses Buch ist in HTML-Format per FTP erhΣltlich von
  26.   ftp.cs.cmu.edu:/user/ai/lang/lisp/doc/cltl/cltl_ht.tgz  und
  27.   ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/CLtL2/cltl_ht.tgz .
  28.  
  29. LISP liegt in einer interaktiven Umgebung vor, d.h. man gibt Formen ein, die
  30. dann sofort ausgewertet werden. So kann man Variablen inspizieren, Funktionen
  31. mit wechselnden Argumenten aufrufen oder auch eigene Funktionen definieren.
  32.  
  33.  
  34. Inhalt:
  35. -------
  36.  
  37. Zu CLISP geh÷ren folgende Dateien:
  38.  
  39. #ifdef UNIX
  40. #ifndef UNIX_BINARY_DISTRIB
  41.    base/lisp.a          Hauptprogramm, mu▀ erst noch gelinkt werden
  42. #endif
  43. #ifdef UNIX_BINARY_DISTRIB
  44.    base/lisp.run        Hauptprogramm
  45. #endif
  46.    base/lispinit.mem    beim Start ben÷tigtes Speicherabbild
  47.    doc/clisp.1          Benutzungshinweise im man-Format von Unix
  48.    doc/clisp.man        Benutzungshinweise
  49.    doc/clisp.html       Benutzungshinweise im HTML-Format
  50.    doc/impnotes.txt     Dokumentation von Implementierungsdetails
  51.    doc/cltl2.txt        Dokumentation des VerhΣltnisses von CLISP zu CLtL2
  52. #ifdef GNU_READLINE
  53.    doc/clreadline.3     Eingabezeilen-Benutzungshinweise im man-Format von Unix
  54.    doc/clreadline.man   Eingabezeilen-Benutzungshinweise
  55. #endif
  56.    README               dies hier
  57.    SUMMARY              Kurzbeschreibung von CLISP
  58.    ANNOUNCE             Ankⁿndingung
  59.    NEWS                 Liste der VerΣnderungen seit der letzten Version
  60.    COPYRIGHT            Klarstellung des Urheberrechts
  61.    GNU-GPL              Gebrauchslizenz fⁿr Offene Software
  62.    doc/readline.dvi     Dokumentation zur GNU Readline-Bibliothek
  63.    src/config.lsp       ÷rtliche Konfiguration
  64.  
  65. und - als Zugabe, fⁿr den Fall, da▀ Sie Quellen lesen m÷chten -
  66.  
  67.    src/*.lsp            die Quellen zu lispinit.mem
  68.    src/*.fas            dieselben Dateien in compilierter Form
  69. #if !defined(UNIX_BINARY_DISTRIB) && defined(GNU_READLINE)
  70.  
  71. Um das ausfⁿhrbare Programm zu erstellen, brauchen Sie ferner:
  72.  
  73.    base/libreadline.a    die GNU Readline-Bibliothek
  74.  
  75. oder
  76.  
  77.    base/libnoreadline.a  wertloser Ersatz fⁿr die GNU Readline-Bibliothek
  78. #endif
  79. #else /* !defined(UNIX) */
  80. #ifdef AMIGAOS
  81.       lisp.run         Hauptprogramm
  82. #endif
  83. #ifdef MSDOS
  84.       lisp.exe         Hauptprogramm
  85. #ifndef OS2
  86.       lisp_1mb.exe     Hauptprogramm, fⁿr Leute mit nur 1 oder 2 MB RAM
  87. #endif
  88. #endif
  89. #ifdef ATARI
  90.       lisp.prg         Hauptprogramm
  91. #endif
  92.       lispinit.mem     beim Start ben÷tigtes Speicherabbild
  93.       clisp.1          Benutzungshinweise im man-Format von Unix
  94.       clisp.man        Benutzungshinweise
  95.       clisp.html       Benutzungshinweise im HTML-Format
  96. #ifdef MSDOS
  97.       clisp.dvi        Benutzungshinweise im DVI-Format
  98. #endif
  99.       impnotes.txt     Dokumentation von Implementierungsdetails
  100.       cltl2.txt        Dokumentation des VerhΣltnisses von CLISP zu CLtL2
  101. #ifdef GNU_READLINE
  102.       clreadline.3     Eingabezeilen-Benutzungshinweise im man-Format von Unix
  103.       clreadline.man   Eingabezeilen-Benutzungshinweise
  104. #ifdef MSDOS
  105.       clreadline.dvi   Eingabezeilen-Benutzungshinweise im DVI-Format
  106. #endif
  107. #endif
  108. #ifdef EMUNIX
  109.       emx-user.doc     Benutzungshinweise fⁿr EMX-Anwendungen
  110.       emx-faq.doc      Frage-/Antwort-Katalog fⁿr EMX-Anwendungen
  111. #ifdef EMUNIX_PORTABEL
  112.       emx.dll          EMX als dynamische OS/2-Bibliothek
  113.       emxlibc.dll      die EMX-libc als dynamische OS/2-Bibliothek
  114. #ifdef EMUNIX_OLD_8e
  115.       termcap.dat      Datenbank von Terminal-Beschreibungen
  116. #endif
  117. #endif
  118. #endif
  119. #if defined(MSDOS) && !defined(OS2)
  120.       delay.exe        Hilfsprogramm zum Betrieb unter Windows
  121. #endif
  122.       README           dies hier
  123.       SUMMARY          Kurzbeschreibung von CLISP
  124.       ANNOUNCE         Ankⁿndingung
  125.       NEWS             Liste der VerΣnderungen seit der letzten Version
  126.       COPYRIGHT        Klarstellung des Urheberrechts
  127.       GNU-GPL          Gebrauchslizenz fⁿr Offene Software
  128.       readline.dvi     Dokumentation zur GNU Readline-Bibliothek
  129.       config.lsp       ÷rtliche Konfiguration
  130. #ifndef UNIX
  131.       timezone.lsp     ÷rtliche Zeitzone
  132. #endif
  133.  
  134. und - als Zugabe, fⁿr den Fall, da▀ Sie Quellen lesen m÷chten -
  135.  
  136.       *.lsp            die Quellen zu lispinit.mem
  137. #if !defined(MSDOS)
  138.       *.fas            dieselben Dateien in compilierter Form
  139. #endif
  140. #endif
  141.  
  142. #ifdef MSDOS
  143.  
  144. Hardware-Voraussetzungen:
  145. -------------------------
  146.  
  147. #ifndef OS2
  148. Diese DOS-Version von CLISP setzt als CPU einen 80386 (SX oder DX) oder einen
  149. 80486 sowie mindestens 1 MB RAM voraus.
  150. #else
  151. Diese OS/2-Version von CLISP setzt als CPU einen 80386 (SX oder DX) oder einen
  152. 80486 voraus, die OS/2 2.0 fΣhrt.
  153. #endif
  154.  
  155. #endif
  156. #ifdef ATARI
  157.  
  158. Hardware-Voraussetzungen:
  159. -------------------------
  160.  
  161. Diese Atari-Version von CLISP setzt einen Atari ST mit einer 68000 CPU sowie
  162. mindestens 2 MB RAM voraus.
  163.  
  164. #endif
  165. #ifdef AMIGAOS
  166.  
  167. Hardware-Voraussetzungen:
  168. -------------------------
  169.  
  170. Diese Amiga-Version von CLISP setzt einen Amiga mit mindestens 1.5 MB RAM
  171. voraus. Die CLISP-LOW genannte Version lΣuft auf GerΣten, deren gesamter
  172. Speicher mit 24 Bit adressierbar ist: auf 68000, A2620, A2630, sowie auf
  173. dem A3000 und A4000 nur mit NoFastMem. Die CLISP-HIGH genannte Version
  174. hingegen lΣuft in Speicher, der mit 28 Bit adressierbar ist (Adressen
  175. #x00000000 bis #x0FFFFFFF), jedoch nur auf GerΣten mit 68020/030/040
  176. (z.B. A3000 und A4000 ohne spezielle Speichererweiterungskarten).
  177.  
  178. #endif
  179. #if defined(SINGLEMAP_MEMORY) && (defined(UNIX_LINUX) || !defined(HAVE_MMAP_ANON))
  180.  
  181. Software-Voraussetzungen:
  182. -------------------------
  183.  
  184. #ifdef UNIX_LINUX
  185. #ifdef GENERATIONAL_GC
  186. Diese CLISP-Version setzt Linux 1.1.52 oder neuer voraus.
  187. #else
  188. Diese CLISP-Version setzt Linux 0.99.7 oder neuer voraus.
  189. #endif
  190. #endif
  191. #if !defined(HAVE_MACH_VM) && !defined(HAVE_MMAP_ANON) /* impliziert HAVE_MMAP_DEVZERO */
  192. /dev/zero mu▀ von jedermann lesbar sein. Um das sicherzustellen, k÷nnen Sie
  193. ein "chmod a+r /dev/zero" ausfⁿhren.
  194. #endif
  195.  
  196. #endif
  197.  
  198. Installation:
  199. -------------
  200.  
  201. #ifdef OS2
  202. Zuerst installieren Sie emx.dll and emxlibc.dll in einem separaten Verzeichnis,
  203. sagen wir c:\emx\dll. Fⁿgen Sie c:\emx\dll (mit dem korrekten Laufwerks-
  204. buchstaben) zur LIBPATH-Anweisung in Ihrer Datei config.sys hinzu. Booten
  205. Sie Ihren Computer neu, damit die LIBPATH-Anweisung und die neuen Umgebungs-
  206. Variablen Wirkung zeigen.
  207.  
  208. #ifdef EMUNIX_OLD_8e
  209. Vielleicht wollen Sie auch termcap.dat in einem separaten Verzeichnis, sagen
  210. wir c:\emx\etc, installieren.
  211.  
  212. #endif
  213. #endif
  214. #ifdef UNIX
  215. #ifndef UNIX_BINARY_DISTRIB
  216. Um das ausfⁿhrbare Programm zu erstellen, geben Sie ein:
  217.  
  218.          cd base
  219.          cc lisp.a libnoreadline.a -ltermcap -s -o lisp.run
  220.          cd ..
  221.  
  222. oder
  223. - wenn Sie die Editierm÷glichkeiten der GNU Readline-Bibliothek haben m÷chten -
  224.  
  225.          cd base
  226.          cc lisp.a libreadline.a -ltermcap -s -o lisp.run
  227.          cd ..
  228.  
  229. #endif
  230. Passen Sie die Strings innerhalb von src/config.lsp mit einem Texteditor an.
  231. #else
  232. Passen Sie den Inhalt von config.lsp, insbesondere die Definitionen von
  233. short-site-name und long-site-name, an Ihre ÷rtlichen Gegebenheiten an.
  234. Vielleicht m÷chten Sie auch die Zeitzonendefinition am Ende von timezone.lsp
  235. Σndern.
  236. #endif
  237. Starten Sie dann
  238.  
  239. #ifdef MSDOS
  240.          lisp.exe -M lispinit.mem
  241. #endif
  242. #ifdef ATARI
  243.          lisp.prg -M lispinit.mem
  244. #endif
  245. #ifdef AMIGAOS
  246.          lisp.run -M lispinit.mem
  247. #endif
  248. #ifdef UNIX
  249.          base/lisp.run -M base/lispinit.mem
  250. #endif
  251.  
  252. Auf den LISP-Prompt
  253.  
  254.       > _
  255.  
  256. hin eingeben:
  257.  
  258. #ifdef UNIX
  259.         (compile-file "src/config")
  260.         (load "src/config")
  261. #else
  262.         (compile-file "config")
  263.         (load "config")
  264.  
  265. und - falls Sie timezone.lsp verΣndert haben -
  266.  
  267.         (compile-file "timezone")
  268.         (load "timezone")
  269. #endif
  270.  
  271. und dann
  272.  
  273. #ifdef UNIX
  274.         (cd "base/")
  275. #endif
  276.         (saveinitmem)
  277.  
  278. Damit ⁿberschreiben Sie die Datei lispinit.mem mit Ihrer Konfiguration. Sodann
  279.  
  280.         (exit)
  281.  
  282. #ifdef UNIX
  283. Alles weitere erledigt ein
  284.  
  285.         make install
  286.  
  287. Sie k÷nnen dies stattdessen auch selber, schrittweise tun:
  288.  
  289. #endif
  290. Legen Sie ein Verzeichnis an und legen Sie das ausfⁿhrbare Programm und das
  291. Speicherabbild dort ab.
  292. #ifdef UNIX
  293. Ich schlage hierfⁿr /usr/local/lib/lisp vor:
  294.  
  295.    mkdir /usr/local/lib/lisp
  296.    mv base/lisp.run /usr/local/lib/lisp
  297.    mv base/lispinit.mem /usr/local/lib/lisp
  298. #endif
  299. #ifdef MSDOS
  300. Angenommen, Sie wΣhlen dafⁿr D:\LIB\LISP :
  301.  
  302.    mkdir d:\lib\lisp
  303.    copy lisp.exe d:\lib\lisp
  304.    copy lispinit.mem d:\lib\lisp
  305. #endif
  306.  
  307. #ifdef MSDOS
  308. Und erstellen Sie eine Kommando-Datei, die Lisp startet:
  309.  
  310. #ifndef OS2
  311.    copy con c:\bat\clisp.bat
  312. #else
  313.    copy con c:\cmd\clisp.cmd
  314. #endif
  315.    d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
  316.    [Ctrl-Z]
  317. #endif
  318. #ifdef UNIX
  319. Und erstellen Sie ein Shell-Script, das Lisp startet:
  320.  
  321.    cat > /usr/local/bin/clisp
  322. #ifndef UNIX_BROKEN_SH
  323. #ifdef UNIX_USE_KSH
  324.    #!/bin/ksh
  325. #else
  326.    #!/bin/sh
  327. #endif
  328.    exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
  329. #else
  330.    #!/bin/sh
  331.    if test $# = 0; then
  332.      exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem
  333.    else
  334.      exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
  335.    fi
  336. #endif
  337.    [Ctrl-D]EOF
  338.    chmod a+x /usr/local/bin/clisp
  339.  
  340. Installieren Sie nun die Benutzungshinweise
  341.  
  342.    mv doc/clisp.1 /usr/local/man/man1/clisp.1
  343. #ifdef GNU_READLINE
  344.    mv doc/clreadline.3 /usr/local/man/man3/clreadline.3
  345. #endif
  346.  
  347. and probieren Sie
  348.  
  349.    man clisp
  350. #endif
  351.  
  352. #if defined(MSDOS) && !defined(OS2)
  353.  
  354. Installation unter Microsoft Windows:
  355. -------------------------------------
  356.  
  357. CLISP lΣuft auch in der DOS-Box von Microsoft Windows 3.1.
  358. Dazu sind folgende zusΣtzliche Schritte notwendig:
  359.  
  360. 1. Besorgen Sie sich
  361.      ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/dos/clisp-deutsch.zip
  362.    und installieren Sie es, wie oben angegeben.
  363.  
  364. 2. Besorgen Sie sich RSX
  365.      ftp.uni-bielefeld.de:/pub/systems/msdos/misc/dpmigcc4.zip
  366.      ftp.shsu.edu:/tex-archive/systems/msdos/dpmigcc/dpmigcc4.zip
  367.    und installieren Sie es, z.B. in c:\rsx.
  368.  
  369. 3. Rufen Sie den PIF-Editor auf und tragen Sie dort ein:
  370.  
  371.    Programmdateiname:      c:\rsx\bin\rsx.exe c:\lib\lisp\lisp.exe
  372.    Programmtitel:          COMMON LISP
  373.    Programmparameter:      -M c:\lib\lisp\compiled.mem
  374.    Anfangsverzeichnis:     e:\lisp
  375.    Bildschirmspeicher:     Text
  376.    Speicherbedarf:         ben÷tigt:  500      gewⁿnscht:  640
  377.    EMS-Speicher:           ben÷tigt:    0      gewⁿnscht:    0
  378.    XMS-Speicher:           ben÷tigt: 1024      gewⁿnscht:   -1
  379.    Anzeige:                        [nach Belieben]
  380.    Fenster_schlie▀en_bei_Beenden:  [nach Belieben]
  381.    Ausfⁿhrung:                     [nach Belieben]
  382.    weitere_Optionen:               [nach Belieben]
  383.  
  384.    (Als Anfangsverzeichnis, hier e:\lisp, sollten Sie zweckmΣ▀igerweise
  385.    das Verzeichnis wΣhlen, in dem Ihre Lisp-Programme sitzen.)
  386.  
  387.    Das Ganze speichern Sie unter dem Namen WINCLISP.PIF ab.
  388.  
  389. 4. Im Programm-Manager in einer geeigneten Gruppe:
  390.  
  391.    Menⁿ "Datei" -> "Neu" -> "Programm", Fenster "Programmeigenschaften".
  392.    Tragen Sie dort ein:
  393.  
  394.    Beschreibung:           COMMON LISP
  395.    Befehlszeile:           winclisp.pif
  396.    Anfangsverzeichnis:     e:\lisp
  397.    Tastenkombination:      Ctrl+Alt+Shift+L      [nach Belieben]
  398.  
  399. Mausclick auf das so erzeugte Pictogramm bzw. die o.a. Tastenkombination
  400. im Programm-Manager starten nun CLISP.
  401.  
  402. Bemerkungen:
  403.  
  404. * Cut & Paste in DOS-Boxen (via Menⁿ "Bearbeiten" -> "Markieren" bzw.
  405.   Menⁿ "Bearbeiten" -> "Einfⁿgen") hat den Nachteil, da▀ beim Einfⁿgen ein
  406.   <Enter> angefⁿgt wird. Man kann die Zeile daher nicht nach-editieren.
  407.  
  408. * Die in CLISP.MAN und READLINE.DVI erwΣhnten Editiermechanismen funktionieren
  409.   jedoch.
  410.  
  411. #endif
  412. #ifdef AMIGAOS
  413.  
  414. Anmerkung:
  415. ----------
  416.  
  417. Sie k÷nnen CLISP von der Workbench(r) aus starten. Die folgenden Anwendungs-
  418. parameter des Anwendungs-Piktogrammes werden erkannt:
  419.  
  420.    WINDOW=<Spezifikation eines Fensters oder eines Kanals>
  421.    ARGS=<Argumente wie beim Kommandozeilen-Aufruf>
  422.  
  423. Beispielsweise
  424.  
  425.    WINDOW=CON:0/11/640/200/CLISP-interaktiv
  426.    ARGS=-M lispinit.mem
  427.  
  428. #endif
  429. #ifdef MSDOS
  430.  
  431. Der Editor:
  432. -----------
  433.  
  434. Normalerweise ruft die Funktion ED von CLISP den Editor auf, den Sie in
  435. config.lsp angegeben haben. Nach Ausfⁿhrung von
  436.  
  437.     (load "editor")
  438.  
  439. ruft sie dagegen den eingebauten Bildschirmeditor auf. Er erinnert ein wenig
  440. an Emacs: Sie k÷nnen aus dem Editor heraus Lisp-Ausdrⁿcke auswerten, und das
  441. Ergebnis wird in den Editor-Puffer eingefⁿgt. Den vollen Befehlssatz ersehen
  442. Sie durch Drⁿcken von Alt-H.
  443. #if defined(EMUNIX_PORTABEL) && defined(EMUNIX_OLD_8e)
  444.  
  445. Beachten Sie: Damit der Editor korrekt funktioniert, mⁿssen Sie eine Zeile wie
  446.  
  447.     DEVICE=ANSI.SYS
  448.  
  449. in Ihrer Datei CONFIG.SYS haben. Au▀erdem mu▀ die Umgebungs-Variable TERM
  450. gesetzt sein, und die Umgebungs-Variable TERMCAP mu▀ den Pfadnamen der
  451. Datenbank von Terminal-Beschreibungen enthalten, wobei \ durch / zu ersetzen
  452. ist. Es ist wohl nicht schlecht, diese Sachen in das oben erstellte clisp.bat
  453. zu schreiben:
  454.  
  455.     set TERM=ansi
  456.     set TERMCAP=c:/emx/etc/termcap.dat
  457.  
  458. "ansi-color-2" statt "ansi" sieht auch gut aus.
  459. #endif
  460.  
  461. #endif
  462.  
  463. Wenn's Probleme gibt:
  464. ---------------------
  465.  
  466. #ifdef EMUNIX
  467. Sollte clisp ⁿberhaupt nicht gestartet werden k÷nnen, konsultieren Sie
  468. EMX-USER.DOC. lisp.exe ist eine EMX-Anwendung. Was dort ⁿber EMX-Anwendungen
  469. gesagt wird, trifft auch auf lisp.exe zu.
  470.  
  471. #endif
  472. Bei Errors befindet man sich im Debugger:
  473.  
  474.      1. Break> _
  475.  
  476. Hier kann man wie ⁿblich Formen auswerten.
  477. Au▀erdem:
  478.  
  479.      Help
  480.                ruft Hilfestellung an.
  481.      Abort     oder
  482.      Unwind
  483.                steigt hoch in die nΣchsth÷here Hauptschleife.
  484.      Backtrace
  485.                zeigt den Stackinhalt an. Das hilft bei der Fehlersuche.
  486.  
  487. Au▀erdem kann man sich die Werte der Variablen der Funktion anzeigen lassen,
  488. in der der Fehler passierte.
  489.  
  490. Bei gr÷▀eren Problemen, z.B. harten Abstⁿrzen, bitte Fehlerbeschreibung
  491. und reproduzierbare Vorgehensweise zur Erzeugung dieses Fehlers an die
  492. Autoren senden. Bitte nennen Sie dabei auch die Version von CLISP; sie
  493. erhalten sie durch Aufrufen von (lisp-implementation-version).
  494.  
  495.  
  496. Mailing-Liste:
  497. --------------
  498.  
  499. Fⁿr die Benutzer von CLISP gibt es eine Mailing-Liste. Sie ist das geeignete
  500. Korrespondenz-Forum fⁿr Fragen betreffend CLISP, Installationsprobleme,
  501. Fehlerbeschreibungen, Anwendungs-Pakete usw.
  502.  
  503. Information ⁿber die Liste und wie man sie abonniert erhalten Sie, wenn Sie
  504. an listserv@ma2s2.mathematik.uni-karlsruhe.de eine Mail des folgenden Inhalts
  505. schicken:
  506.           help
  507.           information clisp-list
  508.  
  509.  
  510. Dank:
  511. -----
  512.  
  513. #ifdef MSDOS
  514. Wenn Sie CLISP schnell und fehlerfrei finden und damit arbeiten m÷gen, wΣren
  515. wir ⁿber ein Geschenk von z.B. 40 DM (der Betrag steht Ihnen frei) dankbar.
  516. Die meisten DOS-Programme kosten etwas; Sie sind das Bezahlen deswegen
  517. vermutlich schon gew÷hnt.
  518.  
  519. Wenn nicht, scheuen Sie sich nicht, uns VerbesserungsvorschlΣge zu schicken.
  520. Oder holen Sie sich die Quellen von CLISP, verbessern Sie es selber und
  521. schicken uns Ihre Modifikationen.
  522.  
  523. #endif
  524. Wir schulden Dank
  525.   * Guy L. Steele und vielen anderen fⁿr die Spezifikation von Common Lisp.
  526. #ifdef UNIX
  527.   * dem GNU-Projekt von Richard Stallman fⁿr GCC, Autoconf und die
  528.     Readline-Bibliothek.
  529. #else
  530. #ifdef GNU_READLINE
  531.   * dem GNU-Projekt von Richard Stallman fⁿr GCC und die Readline-Bibliothek.
  532. #else
  533. #ifdef GNU
  534.   * dem GNU-Projekt von Richard Stallman fⁿr GCC.
  535. #endif
  536. #endif
  537. #endif
  538. #ifdef EMUNIX
  539.   * Eberhard Mattes fⁿr EMX.
  540. #endif
  541.  
  542.  
  543. Autoren:
  544. --------
  545.  
  546.         Bruno Haible                    Michael Stoll
  547.         Augartenstra▀e 40               Gallierweg 39
  548.     D - 76137 Karlsruhe             D - 53117 Bonn
  549.         Deutschland                     Deutschland
  550.  
  551. Email: haible@ma2s2.mathematik.uni-karlsruhe.de
  552. #ifdef AMIGAOS
  553.  
  554. Portierung fⁿr den Amiga:
  555. -------------------------
  556.  
  557.         J÷rg H÷hle
  558.         Radolfzeller Stra▀e 3
  559.     D - 78476 Allensbach
  560.         Deutschland
  561.  
  562. Email: hoehle@inf-wiss.uni-konstanz.de
  563. #endif
  564.  
  565. Wartung und Pflege:
  566. -------------------
  567.  
  568.         Marcus Daniels
  569.  
  570. Email: marcus@ee.pdx.edu
  571. #else /* englische ▄bersetzung */
  572. This is CLISP, a Common Lisp implementation.
  573.  
  574.  
  575. What is LISP?
  576. -------------
  577.  
  578. LISP is a programming language. It was invented by J. McCarthy in 1959.
  579. There have been many dialects of it, but nowadays LISP has been standardized
  580. and wide-spread due to the industrial standard COMMON LISP. There are
  581. applications in the domains of symbolic knowledge processing (AI), numerical
  582. mathematics (MACLISP yielded numerical code as good as FORTRAN), and
  583. widely used programs like editors (EMACS) and CAD (AUTOCAD).
  584. There is an introduction to the language:
  585.  
  586.   Sheila Hughes: Lisp. Pitman Publishing Limited, London 1986.
  587.   107 pages.
  588.  
  589. After a while wou will need the standard text containing the language
  590. definition:
  591.  
  592.   Guy L. Steele Jr.: Common Lisp - The Language. Digital Press.
  593.   1. edition 1984, 465 pages.
  594.   2. edition 1990, 1032 pages.
  595.  
  596. This book is available in HTML form via FTP from
  597.   ftp.cs.cmu.edu:/user/ai/lang/lisp/doc/cltl/cltl_ht.tgz  and
  598.   ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/CLtL2/cltl_ht.tgz .
  599.  
  600. LISP is run in an interactive environment. You input forms, and they will be
  601. evaluated at once. Thus you can inspect variables, call functions with given
  602. arguments or define your own functions.
  603.  
  604.  
  605. Contents:
  606. ---------
  607.  
  608. It consists of the following files:
  609.  
  610. #ifdef UNIX
  611. #ifndef UNIX_BINARY_DISTRIB
  612.    base/lisp.a          main program, to be linked
  613. #endif
  614. #ifdef UNIX_BINARY_DISTRIB
  615.    base/lisp.run        main program
  616. #endif
  617.    base/lispinit.mem    memory image needed for startup
  618.    doc/clisp.1          manual page in Unix man format
  619.    doc/clisp.man        manual page
  620.    doc/clisp.html       manual page in HTML format
  621.    doc/impnotes.txt     implementation notes
  622.    doc/cltl2.txt        notes about the relation of CLISP to CLtL2
  623. #ifdef GNU_READLINE
  624.    doc/clreadline.3     line editing manual page in Unix man format
  625.    doc/clreadline.man   line editing manual page
  626. #endif
  627.    README               this text
  628.    SUMMARY              short description of CLISP
  629.    ANNOUNCE             announcement
  630.    NEWS                 list of modifications since the last version
  631.    COPYRIGHT            copyright notice
  632.    GNU-GPL              free software license
  633.    doc/readline.dvi     GNU readline library documentation
  634.    src/config.lsp       site-dependent configuration
  635.  
  636. and - to your convenience, if you like reading source -
  637.  
  638.    src/*.lsp            the source of lispinit.mem
  639.    src/*.fas            the same files, already compiled
  640. #if !defined(UNIX_BINARY_DISTRIB) && defined(GNU_READLINE)
  641.  
  642. For building the executable, you also need:
  643.  
  644.    base/libreadline.a    GNU readline library
  645.  
  646. or
  647.  
  648.    base/libnoreadline.a  dummy replacement for the GNU readline library
  649. #endif
  650. #else /* !defined(UNIX) */
  651. #ifdef AMIGAOS
  652.       lisp.run         main program
  653. #endif
  654. #ifdef MSDOS
  655.       lisp.exe         main program
  656. #ifndef OS2
  657.       lisp_1mb.exe     main program, use this one if you have
  658.                        only 1 or 2 MB of RAM
  659. #endif
  660. #endif
  661. #ifdef ATARI
  662.       lisp.prg         main program
  663. #endif
  664.       lispinit.mem     memory image needed for startup
  665.       clisp.1          manual page in Unix man format
  666.       clisp.man        manual page
  667.       clisp.html       manual page in HTML format
  668. #ifdef MSDOS
  669.       clisp.dvi        manual page in dvi format
  670. #endif
  671.       impnotes.txt     implementation notes
  672.       cltl2.txt        notes about the relation of CLISP to CLtL2
  673. #ifdef GNU_READLINE
  674.       clreadline.3     line editing manual page in Unix man format
  675.       clreadline.man   line editing manual page
  676. #ifdef MSDOS
  677.       clreadline.dvi   line editing manual page in dvi format
  678. #endif
  679. #endif
  680. #ifdef EMUNIX
  681.       emx-user.doc     emx applications user's guide
  682.       emx-faq.doc      frequently asked questions about emx applications
  683. #ifdef EMUNIX_PORTABEL
  684.       emx.dll          OS/2 dynamic link library containing emx
  685.       emxlibc.dll      OS/2 dynamic link library containing the emx libc
  686. #ifdef EMUNIX_OLD_8e
  687.       termcap.dat      terminal capabilities database
  688. #endif
  689. #endif
  690. #endif
  691. #if defined(MSDOS) && !defined(OS2)
  692.       delay.exe        auxiliary program for running clisp under Windows
  693. #endif
  694.       README           this text
  695.       SUMMARY          short description of CLISP
  696.       ANNOUNCE         announcement
  697.       NEWS             list of modifications since the last version
  698.       COPYRIGHT        copyright notice
  699.       GNU-GPL          free software license
  700.       readline.dvi     GNU readline library documentation
  701.       config.lsp       site-dependent configuration
  702. #ifndef UNIX
  703.       timezone.lsp     site-dependent time zone
  704. #endif
  705.  
  706. and - to your convenience, if you like reading source -
  707.  
  708.       *.lsp            the source of lispinit.mem
  709. #if !defined(MSDOS)
  710.       *.fas            the same files, already compiled
  711. #endif
  712. #endif
  713.  
  714. #ifdef MSDOS
  715.  
  716. Hardware requirements:
  717. ----------------------
  718.  
  719. #ifndef OS2
  720. This DOS version of CLISP requires an 80386 (SX or DX) or an 80486 CPU
  721. and at least 1 MB of RAM.
  722. #else
  723. This OS/2 version of CLISP requires an 80386 (SX or DX) or an 80486 CPU,
  724. running OS/2 2.0.
  725. #endif
  726.  
  727. #endif
  728. #ifdef ATARI
  729.  
  730. Hardware requirements:
  731. ----------------------
  732.  
  733. This Atari version of CLISP requires an Atari ST with 68000 CPU and
  734. at least 2 MB of RAM.
  735.  
  736. #endif
  737. #ifdef AMIGAOS
  738.  
  739. Hardware requirements:
  740. ----------------------
  741.  
  742. This Amiga version of CLISP requires at least 1.5MB RAM. The version
  743. called CLISP-LOW runs on machines with no memory outside the 24 bit
  744. addressable range: on 68000, A2620, A2630, and on the A3000 and A4000
  745. in combination with NoFastMem. The version called CLISP-HIGH runs in
  746. memory that is 28 bit addressable (address range #x00000000 to #x0FFFFFFF),
  747. but only on machines with 68020/030/040 CPU (for example, A3000 and A4000
  748. without special memory expansion cards).
  749.  
  750. #endif
  751. #if defined(SINGLEMAP_MEMORY) && (defined(UNIX_LINUX) || !defined(HAVE_MMAP_ANON))
  752.  
  753. Software requirements:
  754. ----------------------
  755.  
  756. #ifdef UNIX_LINUX
  757. #ifdef GENERATIONAL_GC
  758. This version of CLISP requires Linux 1.1.52 or newer.
  759. #else
  760. This version of CLISP requires Linux 0.99.7 or newer.
  761. #endif
  762. #endif
  763. #if !defined(HAVE_MACH_VM) && !defined(HAVE_MMAP_ANON) /* impliziert HAVE_MMAP_DEVZERO */
  764. /dev/zero must be readable by everyone. You may execute a "chmod a+r /dev/zero"
  765. to ensure this.
  766. #endif
  767.  
  768. #endif
  769.  
  770. Installation:
  771. -------------
  772.  
  773. #ifdef OS2
  774. First of all, install emx.dll and emxlibc.dll in a separate directory,
  775. say c:\emx\dll. Add c:\emx\dll (insert the correct drive letter)
  776. to the LIBPATH statement in your config.sys file. Reboot your computer
  777. to enable the new LIBPATH statement and the new environment variables.
  778.  
  779. #ifdef EMUNIX_OLD_8e
  780. You may also want to install termcap.dat in a separate directory,
  781. say c:\emx\etc.
  782.  
  783. #endif
  784. #endif
  785. #ifdef UNIX
  786. #ifndef UNIX_BINARY_DISTRIB
  787. Type
  788.  
  789.          cd base
  790.          cc lisp.a libnoreadline.a -ltermcap -s -o lisp.run
  791.          cd ..
  792.  
  793. or - if you prefer having GNU readline's input editing capabilities -
  794.  
  795.          cd base
  796.          cc lisp.a libreadline.a -ltermcap -s -o lisp.run
  797.          cd ..
  798.  
  799. to build the executable against your C library.
  800.  
  801. #endif
  802. Change the strings in src/config.lsp, using a text editor.
  803. #else
  804. Edit the contents of config.lsp appropriately for your site,
  805. especially the definitions of short-site-name and long-site-name.
  806. You may also want to edit the time zone definition at the end of
  807. timezone.lsp.
  808. #endif
  809. Then start
  810.  
  811. #ifdef MSDOS
  812.          lisp.exe -M lispinit.mem
  813. #endif
  814. #ifdef ATARI
  815.          lisp.prg -M lispinit.mem
  816. #endif
  817. #ifdef AMIGAOS
  818.          lisp.run -M lispinit.mem
  819. #endif
  820. #ifdef UNIX
  821.          base/lisp.run -M base/lispinit.mem
  822. #endif
  823.  
  824. When the LISP prompt
  825.  
  826.       > _
  827.  
  828. appears, type
  829.  
  830. #ifdef UNIX
  831.         (compile-file "src/config")
  832.         (load "src/config")
  833. #else
  834.         (compile-file "config")
  835.         (load "config")
  836.  
  837. and - in case you modified timezone.lsp -
  838.  
  839.         (compile-file "timezone")
  840.         (load "timezone")
  841. #endif
  842.  
  843. and then
  844.  
  845. #ifdef UNIX
  846.         (cd "base/")
  847. #endif
  848.         (saveinitmem)
  849.  
  850. to overwrite the file lispinit.mem with your configuration. Then
  851.  
  852.         (exit)
  853.  
  854. #ifdef UNIX
  855. The rest is done by a simple
  856.  
  857.         make install
  858.  
  859. Instead, you may do this yourself, step by step:
  860.  
  861. #endif
  862. Then create a directory, and put the executable and the memory image there.
  863. #ifdef UNIX
  864. I would suggest /usr/local/lib/lisp :
  865.  
  866.    mkdir /usr/local/lib/lisp
  867.    mv base/lisp.run /usr/local/lib/lisp
  868.    mv base/lispinit.mem /usr/local/lib/lisp
  869. #endif
  870. #ifdef MSDOS
  871. Assuming D:\LIB\LISP :
  872.  
  873.    mkdir d:\lib\lisp
  874.    copy lisp.exe d:\lib\lisp
  875.    copy lispinit.mem d:\lib\lisp
  876. #endif
  877.  
  878. #ifdef MSDOS
  879. And create a batch file that starts lisp:
  880.  
  881. #ifndef OS2
  882.    copy con c:\bat\clisp.bat
  883. #else
  884.    copy con c:\cmd\clisp.cmd
  885. #endif
  886.    d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
  887.    [Ctrl-Z]
  888. #endif
  889. #ifdef UNIX
  890. And create a shell script that starts lisp:
  891.  
  892.    cat > /usr/local/bin/clisp
  893. #ifndef UNIX_BROKEN_SH
  894. #ifdef UNIX_USE_KSH
  895.    #!/bin/ksh
  896. #else
  897.    #!/bin/sh
  898. #endif
  899.    exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
  900. #else
  901.    #!/bin/sh
  902.    if test $# = 0; then
  903.      exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem
  904.    else
  905.      exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
  906.    fi
  907. #endif
  908.    [Ctrl-D]EOF
  909.    chmod a+x /usr/local/bin/clisp
  910.  
  911. #ifdef GNU_READLINE
  912. Now install the man pages
  913. #else
  914. Now install the man page
  915. #endif
  916.  
  917.    mv doc/clisp.1 /usr/local/man/man1/clisp.1
  918. #ifdef GNU_READLINE
  919.    mv doc/clreadline.3 /usr/local/man/man3/clreadline.3
  920. #endif
  921.  
  922. and try
  923.  
  924.    man clisp
  925. #endif
  926.  
  927. #if defined(MSDOS) && !defined(OS2)
  928.  
  929. Installation under Microsoft Windows:
  930. -------------------------------------
  931.  
  932. CLISP also runs in the DOS box of Microsoft Windows 3.1.
  933. To achieve this, the following additional steps are necessary:
  934.  
  935. 1. Get and install
  936.      ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/dos/clisp-english.zip
  937.    as described above.
  938.  
  939. 2. Get and install RSX in, for instance, c:\rsx.
  940.      ftp.uni-bielefeld.de:/pub/systems/msdos/misc/dpmigcc4.zip
  941.      ftp.shsu.edu:/tex-archive/systems/msdos/dpmigcc/dpmigcc4.zip
  942.  
  943. 3. Call the PIF editor and input the following:
  944.  
  945.    Program:                c:\rsx\bin\rsx.exe c:\lib\lisp\lisp.exe
  946.    Program title:          COMMON LISP
  947.    Program parameters:     -M c:\lib\lisp\compiled.mem
  948.    Start directory:        e:\lisp  (or whatever)
  949.    Screen:                 Text
  950.    Memory requirements:    requires:  500      maximum:  640
  951.    EMS memory:             requires:    0      maximum:    0
  952.    XMS memory:             requires: 1024      maximum:   -1
  953.    Display:                [as you like]
  954.    Quit_closes_window:     [as you like]
  955.    Execution:              [as you like]
  956.    other_options:          [as you like]
  957.  
  958.    (You will probably choose the directory which contains your lisp programs
  959.    as start directory, instead of e:\lisp.)
  960.  
  961.    Save it under the name WINCLISP.PIF.
  962.  
  963. 4. In the program manager, in a suitable group:
  964.  
  965.    Menu "File" -> "New" -> "Program", window "program properties".
  966.    Input there:
  967.  
  968.    Description:            COMMON LISP
  969.    Command line:           winclisp.pif
  970.    Start directory:        e:\lisp
  971.    Key combination:        Ctrl+Alt+Shift+L      [as you like]
  972.  
  973. Clicking with the mouse on the such created icon or pressing the key
  974. combination given above in the program manager will now start CLISP.
  975.  
  976. Remarks:
  977.  
  978. * Cut & Paste in DOS boxes (via menu "Edit" -> "Mark" resp.
  979.   menu "Edit" -> "Insert") inserts an <Enter> at the end. Therefore one
  980.   cannot re-edit a pasted line.
  981.  
  982. * But the editing facilities mentioned in CLISP.MAN and READLINE.DVI work.
  983.  
  984. #endif
  985. #ifdef AMIGAOS
  986.  
  987. Note:
  988. -----
  989.  
  990. You can start CLISP from Workbench(tm). The following Tooltypes are
  991. recognized in the Tool Icon:
  992.  
  993.    WINDOW=<window or pipe specification>
  994.    ARGS=<CLI-like arguments>
  995.  
  996. For example,
  997.  
  998.    WINDOW=CON:0/11/640/200/CLISP-Listener
  999.    ARGS=-M lispinit.mem
  1000.  
  1001. #endif
  1002. #ifdef MSDOS
  1003.  
  1004. The editor:
  1005. -----------
  1006.  
  1007. Normally CLISP's ED function calls the editor you specified in config.lsp.
  1008. However, after you did
  1009.  
  1010.     (load "editor")
  1011.  
  1012. it invokes a builtin screen editor. It is a bit Emacs-like: you can evaluate
  1013. lisp expressions from within the editor, and the result is pasted into the
  1014. editor buffer. Type Alt-H to see the full set of commands.
  1015. #if defined(EMUNIX_PORTABEL) && defined(EMUNIX_OLD_8e)
  1016.  
  1017. Note that for the editor working properly, it is necessary that you have
  1018. a line like
  1019.  
  1020.     DEVICE=ANSI.SYS
  1021.  
  1022. in your CONFIG.SYS file. Furthermore the environment variable TERM must
  1023. be set, and the environment variable TERMCAP must contain the slashified
  1024. file name of the terminal capabilities database termcap.dat. It is a good
  1025. idea to put this stuff into the clisp.bat built above:
  1026.  
  1027.     set TERM=ansi
  1028.     set TERMCAP=c:/emx/etc/termcap.dat
  1029.  
  1030. `ansi-color-2' instead of `ansi' looks nice, too.
  1031. #endif
  1032.  
  1033. #endif
  1034.  
  1035. When you encounter problems:
  1036. ----------------------------
  1037.  
  1038. #ifdef EMUNIX
  1039. If clisp doesn't start up at all, check EMX-USER.DOC. lisp.exe is an EMX
  1040. application, so everything mentioned there applies to lisp.exe.
  1041.  
  1042. #endif
  1043. After errors, you are in the debugger:
  1044.  
  1045.      1. Break> _
  1046.  
  1047. You can evaluate forms, as usual. Furthermore:
  1048.  
  1049.      Help
  1050.                calles help
  1051.      Abort     or
  1052.      Unwind
  1053.                climbs up to next higher input loop
  1054.      Backtrace
  1055.                shows the contents of the stack, helpful for debugging
  1056.  
  1057. And you can look at the values of the variables of the functions where the
  1058. error occurred.
  1059.  
  1060. #ifdef UNIX
  1061. On bigger problems, e.g. core dumps, please send a description of the error
  1062. #endif
  1063. #ifdef ATARI
  1064. On bigger problems, e.g. bombs, please send a description of the error
  1065. #endif
  1066. #ifdef AMIGAOS
  1067. On bigger problems, e.g. "guru"s, please send a description of the error
  1068. #endif
  1069. #ifdef MSDOS
  1070. On bigger problems, e.g. register dumps, please send a description of the error
  1071. #endif
  1072. and how to produce it reliably to the authors or the maintainer. Please
  1073. accompany it with the CLISP version, which you get by calling
  1074. (lisp-implementation-version).
  1075.  
  1076.  
  1077. Mailing List:
  1078. -------------
  1079.  
  1080. There is a mailing list for users of CLISP. It is the proper forum for
  1081. questions about CLISP, installation problems, bug reports, application
  1082. packages etc.
  1083.  
  1084. For information about the list and how to subscribe it, send mail to
  1085. listserv@ma2s2.mathematik.uni-karlsruhe.de, with the two lines
  1086.           help
  1087.           information clisp-list
  1088. in the message body.
  1089.  
  1090.  
  1091. Acknowledgement:
  1092. ----------------
  1093.  
  1094. #ifdef MSDOS
  1095. If you find CLISP fast and bug-free and you like using it, a gift of $25
  1096. (or any amount you like) will be appreciated. Most DOS software costs
  1097. something, so you will probably already be used to paying.
  1098.  
  1099. If not, feel free to send us suggestions for improvement. Or grab the
  1100. source of CLISP, improve it yourself and send us your patches.
  1101.  
  1102. #endif
  1103. We are indebted to
  1104.   * Guy L. Steele and many others for the Common Lisp specification.
  1105. #ifdef UNIX
  1106.   * Richard Stallman's GNU project for GCC, Autoconf and the readline library.
  1107. #else
  1108. #ifdef GNU_READLINE
  1109.   * Richard Stallman's GNU project for GCC and the readline library.
  1110. #else
  1111. #ifdef GNU
  1112.   * Richard Stallman's GNU project for GCC.
  1113. #endif
  1114. #endif
  1115. #endif
  1116. #ifdef EMUNIX
  1117.   * Eberhard Mattes for EMX.
  1118. #endif
  1119.  
  1120.  
  1121. Authors:
  1122. --------
  1123.  
  1124.         Bruno Haible                    Michael Stoll
  1125.         Augartenstra▀e 40               Gallierweg 39
  1126.     D - 76137 Karlsruhe             D - 53117 Bonn
  1127.         Germany                         Germany
  1128.  
  1129. Email: haible@ma2s2.mathematik.uni-karlsruhe.de
  1130. #ifdef AMIGAOS
  1131.  
  1132. Amiga Port by:
  1133. --------------
  1134.  
  1135.         J÷rg H÷hle
  1136.         Radolfzeller Stra▀e 3
  1137.     D - 78476 Allensbach
  1138.         Germany
  1139.  
  1140. Email: hoehle@inf-wiss.uni-konstanz.de
  1141. #endif
  1142.  
  1143. Maintainer:
  1144. -----------
  1145.  
  1146.         Marcus Daniels
  1147.  
  1148. Email: marcus@ee.pdx.edu
  1149. #endif /* DEUTSCH / ENGLISH */
  1150.