home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-01-01 | 31.7 KB | 1,150 lines |
- #if DEUTSCH
- Dies ist CLISP, eine Implementierung von COMMON LISP.
-
-
- Was ist LISP?
- -------------
-
- LISP ist eine Programmiersprache, die 1959 von J. McCarthy erfunden wurde.
- Frⁿher 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 Einfⁿhrung 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.
-
- Dieses Buch ist in HTML-Format per FTP erhΣltlich von
- ftp.cs.cmu.edu:/user/ai/lang/lisp/doc/cltl/cltl_ht.tgz und
- ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/CLtL2/cltl_ht.tgz .
-
- 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 geh÷ren folgende Dateien:
-
- #ifdef UNIX
- #ifndef UNIX_BINARY_DISTRIB
- base/lisp.a Hauptprogramm, mu▀ erst noch gelinkt werden
- #endif
- #ifdef UNIX_BINARY_DISTRIB
- base/lisp.run Hauptprogramm
- #endif
- base/lispinit.mem beim Start ben÷tigtes Speicherabbild
- doc/clisp.1 Benutzungshinweise im man-Format von Unix
- doc/clisp.man Benutzungshinweise
- doc/clisp.html Benutzungshinweise im HTML-Format
- doc/impnotes.txt Dokumentation von Implementierungsdetails
- doc/cltl2.txt Dokumentation des VerhΣltnisses von CLISP zu CLtL2
- #ifdef GNU_READLINE
- doc/clreadline.3 Eingabezeilen-Benutzungshinweise im man-Format von Unix
- doc/clreadline.man Eingabezeilen-Benutzungshinweise
- #endif
- README dies hier
- SUMMARY Kurzbeschreibung von CLISP
- ANNOUNCE Ankⁿndingung
- NEWS Liste der VerΣnderungen seit der letzten Version
- COPYRIGHT Klarstellung des Urheberrechts
- GNU-GPL Gebrauchslizenz fⁿr Offene Software
- doc/readline.dvi Dokumentation zur GNU Readline-Bibliothek
- src/config.lsp ÷rtliche Konfiguration
-
- und - als Zugabe, fⁿr den Fall, da▀ Sie Quellen lesen m÷chten -
-
- src/*.lsp die Quellen zu lispinit.mem
- src/*.fas dieselben Dateien in compilierter Form
- #if !defined(UNIX_BINARY_DISTRIB) && defined(GNU_READLINE)
-
- Um das ausfⁿhrbare Programm zu erstellen, brauchen Sie ferner:
-
- base/libreadline.a die GNU Readline-Bibliothek
-
- oder
-
- base/libnoreadline.a wertloser Ersatz fⁿr die GNU Readline-Bibliothek
- #endif
- #else /* !defined(UNIX) */
- #ifdef AMIGAOS
- lisp.run Hauptprogramm
- #endif
- #ifdef MSDOS
- lisp.exe Hauptprogramm
- #ifndef OS2
- lisp_1mb.exe Hauptprogramm, fⁿr Leute mit nur 1 oder 2 MB RAM
- #endif
- #endif
- #ifdef ATARI
- lisp.prg Hauptprogramm
- #endif
- lispinit.mem beim Start ben÷tigtes Speicherabbild
- clisp.1 Benutzungshinweise im man-Format von Unix
- clisp.man Benutzungshinweise
- clisp.html Benutzungshinweise im HTML-Format
- #ifdef MSDOS
- clisp.dvi Benutzungshinweise im DVI-Format
- #endif
- impnotes.txt Dokumentation von Implementierungsdetails
- cltl2.txt Dokumentation des VerhΣltnisses von CLISP zu CLtL2
- #ifdef GNU_READLINE
- clreadline.3 Eingabezeilen-Benutzungshinweise im man-Format von Unix
- clreadline.man Eingabezeilen-Benutzungshinweise
- #ifdef MSDOS
- clreadline.dvi Eingabezeilen-Benutzungshinweise im DVI-Format
- #endif
- #endif
- #ifdef EMUNIX
- emx-user.doc Benutzungshinweise fⁿr EMX-Anwendungen
- emx-faq.doc Frage-/Antwort-Katalog fⁿr EMX-Anwendungen
- #ifdef EMUNIX_PORTABEL
- emx.dll EMX als dynamische OS/2-Bibliothek
- emxlibc.dll die EMX-libc als dynamische OS/2-Bibliothek
- #ifdef EMUNIX_OLD_8e
- termcap.dat Datenbank von Terminal-Beschreibungen
- #endif
- #endif
- #endif
- #if defined(MSDOS) && !defined(OS2)
- delay.exe Hilfsprogramm zum Betrieb unter Windows
- #endif
- README dies hier
- SUMMARY Kurzbeschreibung von CLISP
- ANNOUNCE Ankⁿndingung
- NEWS Liste der VerΣnderungen seit der letzten Version
- COPYRIGHT Klarstellung des Urheberrechts
- GNU-GPL Gebrauchslizenz fⁿr Offene Software
- readline.dvi Dokumentation zur GNU Readline-Bibliothek
- config.lsp ÷rtliche Konfiguration
- #ifndef UNIX
- timezone.lsp ÷rtliche Zeitzone
- #endif
-
- und - als Zugabe, fⁿr den Fall, da▀ Sie Quellen lesen m÷chten -
-
- *.lsp die Quellen zu lispinit.mem
- #if !defined(MSDOS)
- *.fas dieselben Dateien in compilierter Form
- #endif
- #endif
-
- #ifdef MSDOS
-
- Hardware-Voraussetzungen:
- -------------------------
-
- #ifndef OS2
- Diese DOS-Version von CLISP setzt als CPU einen 80386 (SX oder DX) oder einen
- 80486 sowie mindestens 1 MB RAM voraus.
- #else
- Diese OS/2-Version von CLISP setzt als CPU einen 80386 (SX oder DX) oder einen
- 80486 voraus, die OS/2 2.0 fΣhrt.
- #endif
-
- #endif
- #ifdef ATARI
-
- Hardware-Voraussetzungen:
- -------------------------
-
- Diese Atari-Version von CLISP setzt einen Atari ST mit einer 68000 CPU sowie
- mindestens 2 MB RAM voraus.
-
- #endif
- #ifdef AMIGAOS
-
- Hardware-Voraussetzungen:
- -------------------------
-
- Diese Amiga-Version von CLISP setzt einen Amiga mit mindestens 1.5 MB RAM
- voraus. Die CLISP-LOW genannte Version lΣuft auf GerΣten, deren gesamter
- Speicher mit 24 Bit adressierbar ist: auf 68000, A2620, A2630, sowie auf
- dem A3000 und A4000 nur mit NoFastMem. Die CLISP-HIGH genannte Version
- hingegen lΣuft in Speicher, der mit 28 Bit adressierbar ist (Adressen
- #x00000000 bis #x0FFFFFFF), jedoch nur auf GerΣten mit 68020/030/040
- (z.B. A3000 und A4000 ohne spezielle Speichererweiterungskarten).
-
- #endif
- #if defined(SINGLEMAP_MEMORY) && (defined(UNIX_LINUX) || !defined(HAVE_MMAP_ANON))
-
- Software-Voraussetzungen:
- -------------------------
-
- #ifdef UNIX_LINUX
- #ifdef GENERATIONAL_GC
- Diese CLISP-Version setzt Linux 1.1.52 oder neuer voraus.
- #else
- Diese CLISP-Version setzt Linux 0.99.7 oder neuer voraus.
- #endif
- #endif
- #if !defined(HAVE_MACH_VM) && !defined(HAVE_MMAP_ANON) /* impliziert HAVE_MMAP_DEVZERO */
- /dev/zero mu▀ von jedermann lesbar sein. Um das sicherzustellen, k÷nnen Sie
- ein "chmod a+r /dev/zero" ausfⁿhren.
- #endif
-
- #endif
-
- Installation:
- -------------
-
- #ifdef OS2
- Zuerst installieren Sie emx.dll and emxlibc.dll in einem separaten Verzeichnis,
- sagen wir c:\emx\dll. Fⁿgen Sie c:\emx\dll (mit dem korrekten Laufwerks-
- buchstaben) zur LIBPATH-Anweisung in Ihrer Datei config.sys hinzu. Booten
- Sie Ihren Computer neu, damit die LIBPATH-Anweisung und die neuen Umgebungs-
- Variablen Wirkung zeigen.
-
- #ifdef EMUNIX_OLD_8e
- Vielleicht wollen Sie auch termcap.dat in einem separaten Verzeichnis, sagen
- wir c:\emx\etc, installieren.
-
- #endif
- #endif
- #ifdef UNIX
- #ifndef UNIX_BINARY_DISTRIB
- Um das ausfⁿhrbare Programm zu erstellen, geben Sie ein:
-
- cd base
- cc lisp.a libnoreadline.a -ltermcap -s -o lisp.run
- cd ..
-
- oder
- - wenn Sie die Editierm÷glichkeiten der GNU Readline-Bibliothek haben m÷chten -
-
- cd base
- cc lisp.a libreadline.a -ltermcap -s -o lisp.run
- cd ..
-
- #endif
- Passen Sie die Strings innerhalb von src/config.lsp mit einem Texteditor an.
- #else
- Passen Sie den Inhalt von config.lsp, insbesondere die Definitionen von
- short-site-name und long-site-name, an Ihre ÷rtlichen Gegebenheiten an.
- Vielleicht m÷chten Sie auch die Zeitzonendefinition am Ende von timezone.lsp
- Σndern.
- #endif
- Starten Sie dann
-
- #ifdef MSDOS
- lisp.exe -M lispinit.mem
- #endif
- #ifdef ATARI
- lisp.prg -M lispinit.mem
- #endif
- #ifdef AMIGAOS
- lisp.run -M lispinit.mem
- #endif
- #ifdef UNIX
- base/lisp.run -M base/lispinit.mem
- #endif
-
- Auf den LISP-Prompt
-
- > _
-
- hin eingeben:
-
- #ifdef UNIX
- (compile-file "src/config")
- (load "src/config")
- #else
- (compile-file "config")
- (load "config")
-
- und - falls Sie timezone.lsp verΣndert haben -
-
- (compile-file "timezone")
- (load "timezone")
- #endif
-
- und dann
-
- #ifdef UNIX
- (cd "base/")
- #endif
- (saveinitmem)
-
- Damit ⁿberschreiben Sie die Datei lispinit.mem mit Ihrer Konfiguration. Sodann
-
- (exit)
-
- #ifdef UNIX
- Alles weitere erledigt ein
-
- make install
-
- Sie k÷nnen dies stattdessen auch selber, schrittweise tun:
-
- #endif
- Legen Sie ein Verzeichnis an und legen Sie das ausfⁿhrbare Programm und das
- Speicherabbild dort ab.
- #ifdef UNIX
- Ich schlage hierfⁿr /usr/local/lib/lisp vor:
-
- mkdir /usr/local/lib/lisp
- mv base/lisp.run /usr/local/lib/lisp
- mv base/lispinit.mem /usr/local/lib/lisp
- #endif
- #ifdef MSDOS
- Angenommen, Sie wΣhlen dafⁿr D:\LIB\LISP :
-
- mkdir d:\lib\lisp
- copy lisp.exe d:\lib\lisp
- copy lispinit.mem d:\lib\lisp
- #endif
-
- #ifdef MSDOS
- Und erstellen Sie eine Kommando-Datei, die Lisp startet:
-
- #ifndef OS2
- copy con c:\bat\clisp.bat
- #else
- copy con c:\cmd\clisp.cmd
- #endif
- d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
- [Ctrl-Z]
- #endif
- #ifdef UNIX
- Und erstellen Sie ein Shell-Script, das Lisp startet:
-
- cat > /usr/local/bin/clisp
- #ifndef UNIX_BROKEN_SH
- #ifdef UNIX_USE_KSH
- #!/bin/ksh
- #else
- #!/bin/sh
- #endif
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
- #else
- #!/bin/sh
- if test $# = 0; then
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem
- else
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
- fi
- #endif
- [Ctrl-D]EOF
- chmod a+x /usr/local/bin/clisp
-
- Installieren Sie nun die Benutzungshinweise
-
- mv doc/clisp.1 /usr/local/man/man1/clisp.1
- #ifdef GNU_READLINE
- mv doc/clreadline.3 /usr/local/man/man3/clreadline.3
- #endif
-
- and probieren Sie
-
- man clisp
- #endif
-
- #if defined(MSDOS) && !defined(OS2)
-
- Installation unter Microsoft Windows:
- -------------------------------------
-
- CLISP lΣuft auch in der DOS-Box von Microsoft Windows 3.1.
- Dazu sind folgende zusΣtzliche 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.
-
- 2. Besorgen Sie sich RSX
- ftp.uni-bielefeld.de:/pub/systems/msdos/misc/dpmigcc4.zip
- ftp.shsu.edu:/tex-archive/systems/msdos/dpmigcc/dpmigcc4.zip
- und installieren Sie es, z.B. in c:\rsx.
-
- 3. Rufen Sie den PIF-Editor auf und tragen Sie dort ein:
-
- Programmdateiname: c:\rsx\bin\rsx.exe c:\lib\lisp\lisp.exe
- Programmtitel: COMMON LISP
- Programmparameter: -M c:\lib\lisp\compiled.mem
- Anfangsverzeichnis: e:\lisp
- Bildschirmspeicher: Text
- Speicherbedarf: ben÷tigt: 500 gewⁿnscht: 640
- EMS-Speicher: ben÷tigt: 0 gewⁿnscht: 0
- XMS-Speicher: ben÷tigt: 1024 gewⁿnscht: -1
- Anzeige: [nach Belieben]
- Fenster_schlie▀en_bei_Beenden: [nach Belieben]
- Ausfⁿhrung: [nach Belieben]
- weitere_Optionen: [nach Belieben]
-
- (Als Anfangsverzeichnis, hier e:\lisp, sollten Sie zweckmΣ▀igerweise
- das Verzeichnis wΣhlen, in dem Ihre Lisp-Programme sitzen.)
-
- Das Ganze speichern Sie unter dem Namen WINCLISP.PIF ab.
-
- 4. 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
- im Programm-Manager starten nun CLISP.
-
- Bemerkungen:
-
- * Cut & Paste in DOS-Boxen (via Menⁿ "Bearbeiten" -> "Markieren" bzw.
- Menⁿ "Bearbeiten" -> "Einfⁿgen") hat den Nachteil, da▀ beim Einfⁿgen ein
- <Enter> angefⁿgt wird. Man kann die Zeile daher nicht nach-editieren.
-
- * Die in CLISP.MAN und READLINE.DVI erwΣhnten Editiermechanismen funktionieren
- jedoch.
-
- #endif
- #ifdef AMIGAOS
-
- Anmerkung:
- ----------
-
- Sie k÷nnen CLISP von der Workbench(r) aus starten. Die folgenden Anwendungs-
- parameter des Anwendungs-Piktogrammes werden erkannt:
-
- WINDOW=<Spezifikation eines Fensters oder eines Kanals>
- ARGS=<Argumente wie beim Kommandozeilen-Aufruf>
-
- Beispielsweise
-
- WINDOW=CON:0/11/640/200/CLISP-interaktiv
- ARGS=-M lispinit.mem
-
- #endif
- #ifdef MSDOS
-
- Der Editor:
- -----------
-
- Normalerweise ruft die Funktion ED von CLISP den Editor auf, den Sie in
- config.lsp angegeben haben. Nach Ausfⁿhrung von
-
- (load "editor")
-
- ruft sie dagegen den eingebauten Bildschirmeditor auf. Er erinnert ein wenig
- an Emacs: Sie k÷nnen aus dem Editor heraus Lisp-Ausdrⁿcke auswerten, und das
- Ergebnis wird in den Editor-Puffer eingefⁿgt. Den vollen Befehlssatz ersehen
- Sie durch Drⁿcken von Alt-H.
- #if defined(EMUNIX_PORTABEL) && defined(EMUNIX_OLD_8e)
-
- Beachten Sie: Damit der Editor korrekt funktioniert, mⁿssen Sie eine Zeile wie
-
- DEVICE=ANSI.SYS
-
- in Ihrer Datei CONFIG.SYS haben. Au▀erdem mu▀ die Umgebungs-Variable TERM
- gesetzt sein, und die Umgebungs-Variable TERMCAP mu▀ den Pfadnamen der
- Datenbank von Terminal-Beschreibungen enthalten, wobei \ durch / zu ersetzen
- ist. Es ist wohl nicht schlecht, diese Sachen in das oben erstellte clisp.bat
- zu schreiben:
-
- set TERM=ansi
- set TERMCAP=c:/emx/etc/termcap.dat
-
- "ansi-color-2" statt "ansi" sieht auch gut aus.
- #endif
-
- #endif
-
- Wenn's Probleme gibt:
- ---------------------
-
- #ifdef EMUNIX
- Sollte clisp ⁿberhaupt nicht gestartet werden k÷nnen, konsultieren Sie
- EMX-USER.DOC. lisp.exe ist eine EMX-Anwendung. Was dort ⁿber EMX-Anwendungen
- gesagt wird, trifft auch auf lisp.exe zu.
-
- #endif
- Bei Errors befindet man sich im Debugger:
-
- 1. Break> _
-
- Hier kann man wie ⁿblich Formen auswerten.
- Au▀erdem:
-
- Help
- ruft Hilfestellung an.
- Abort oder
- Unwind
- steigt hoch in die nΣchsth÷here Hauptschleife.
- Backtrace
- zeigt den Stackinhalt an. Das hilft bei der Fehlersuche.
-
- Au▀erdem kann man sich die Werte der Variablen der Funktion anzeigen lassen,
- in der der Fehler passierte.
-
- Bei gr÷▀eren Problemen, z.B. harten Abstⁿrzen, bitte Fehlerbeschreibung
- und reproduzierbare Vorgehensweise zur Erzeugung dieses Fehlers an die
- Autoren senden. Bitte nennen Sie dabei auch die Version von CLISP; sie
- erhalten sie durch Aufrufen von (lisp-implementation-version).
-
-
- Mailing-Liste:
- --------------
-
- Fⁿr die Benutzer von CLISP gibt es eine Mailing-Liste. Sie ist das geeignete
- Korrespondenz-Forum fⁿr 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:
- -----
-
- #ifdef MSDOS
- Wenn Sie CLISP schnell und fehlerfrei finden und damit arbeiten m÷gen, wΣren
- 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 gew÷hnt.
-
- Wenn nicht, scheuen Sie sich nicht, uns VerbesserungsvorschlΣge zu schicken.
- Oder holen Sie sich die Quellen von CLISP, verbessern Sie es selber und
- schicken uns Ihre Modifikationen.
-
- #endif
- Wir schulden Dank
- * Guy L. Steele und vielen anderen fⁿr die Spezifikation von Common Lisp.
- #ifdef UNIX
- * dem GNU-Projekt von Richard Stallman fⁿr GCC, Autoconf und die
- Readline-Bibliothek.
- #else
- #ifdef GNU_READLINE
- * dem GNU-Projekt von Richard Stallman fⁿr GCC und die Readline-Bibliothek.
- #else
- #ifdef GNU
- * dem GNU-Projekt von Richard Stallman fⁿr GCC.
- #endif
- #endif
- #endif
- #ifdef EMUNIX
- * Eberhard Mattes fⁿr EMX.
- #endif
-
-
- Autoren:
- --------
-
- Bruno Haible Michael Stoll
- Augartenstra▀e 40 Gallierweg 39
- D - 76137 Karlsruhe D - 53117 Bonn
- Deutschland Deutschland
-
- Email: haible@ma2s2.mathematik.uni-karlsruhe.de
- #ifdef AMIGAOS
-
- Portierung fⁿr den Amiga:
- -------------------------
-
- J÷rg H÷hle
- Radolfzeller Stra▀e 3
- D - 78476 Allensbach
- Deutschland
-
- Email: hoehle@inf-wiss.uni-konstanz.de
- #endif
-
- Wartung und Pflege:
- -------------------
-
- Marcus Daniels
-
- Email: marcus@ee.pdx.edu
- #else /* englische ▄bersetzung */
- 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
- ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/CLtL2/cltl_ht.tgz .
-
- 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:
-
- #ifdef UNIX
- #ifndef UNIX_BINARY_DISTRIB
- base/lisp.a main program, to be linked
- #endif
- #ifdef UNIX_BINARY_DISTRIB
- base/lisp.run main program
- #endif
- 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.txt implementation notes
- doc/cltl2.txt notes about the relation of CLISP to CLtL2
- #ifdef GNU_READLINE
- doc/clreadline.3 line editing manual page in Unix man format
- doc/clreadline.man line editing manual page
- #endif
- 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
- 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
- #if !defined(UNIX_BINARY_DISTRIB) && defined(GNU_READLINE)
-
- For building the executable, you also need:
-
- base/libreadline.a GNU readline library
-
- or
-
- base/libnoreadline.a dummy replacement for the GNU readline library
- #endif
- #else /* !defined(UNIX) */
- #ifdef AMIGAOS
- lisp.run main program
- #endif
- #ifdef MSDOS
- lisp.exe main program
- #ifndef OS2
- lisp_1mb.exe main program, use this one if you have
- only 1 or 2 MB of RAM
- #endif
- #endif
- #ifdef ATARI
- lisp.prg main program
- #endif
- lispinit.mem memory image needed for startup
- clisp.1 manual page in Unix man format
- clisp.man manual page
- clisp.html manual page in HTML format
- #ifdef MSDOS
- clisp.dvi manual page in dvi format
- #endif
- impnotes.txt implementation notes
- cltl2.txt notes about the relation of CLISP to CLtL2
- #ifdef GNU_READLINE
- clreadline.3 line editing manual page in Unix man format
- clreadline.man line editing manual page
- #ifdef MSDOS
- clreadline.dvi line editing manual page in dvi format
- #endif
- #endif
- #ifdef EMUNIX
- emx-user.doc emx applications user's guide
- emx-faq.doc frequently asked questions about emx applications
- #ifdef EMUNIX_PORTABEL
- emx.dll OS/2 dynamic link library containing emx
- emxlibc.dll OS/2 dynamic link library containing the emx libc
- #ifdef EMUNIX_OLD_8e
- termcap.dat terminal capabilities database
- #endif
- #endif
- #endif
- #if defined(MSDOS) && !defined(OS2)
- delay.exe auxiliary program for running clisp under Windows
- #endif
- 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
- readline.dvi GNU readline library documentation
- config.lsp site-dependent configuration
- #ifndef UNIX
- timezone.lsp site-dependent time zone
- #endif
-
- and - to your convenience, if you like reading source -
-
- *.lsp the source of lispinit.mem
- #if !defined(MSDOS)
- *.fas the same files, already compiled
- #endif
- #endif
-
- #ifdef MSDOS
-
- Hardware requirements:
- ----------------------
-
- #ifndef OS2
- This DOS version of CLISP requires an 80386 (SX or DX) or an 80486 CPU
- and at least 1 MB of RAM.
- #else
- This OS/2 version of CLISP requires an 80386 (SX or DX) or an 80486 CPU,
- running OS/2 2.0.
- #endif
-
- #endif
- #ifdef ATARI
-
- Hardware requirements:
- ----------------------
-
- This Atari version of CLISP requires an Atari ST with 68000 CPU and
- at least 2 MB of RAM.
-
- #endif
- #ifdef AMIGAOS
-
- Hardware requirements:
- ----------------------
-
- This Amiga version of CLISP requires at least 1.5MB RAM. The version
- called CLISP-LOW runs on machines with no memory outside the 24 bit
- addressable range: on 68000, A2620, A2630, and on the A3000 and A4000
- in combination with NoFastMem. The version called CLISP-HIGH runs in
- memory that is 28 bit addressable (address range #x00000000 to #x0FFFFFFF),
- but only on machines with 68020/030/040 CPU (for example, A3000 and A4000
- without special memory expansion cards).
-
- #endif
- #if defined(SINGLEMAP_MEMORY) && (defined(UNIX_LINUX) || !defined(HAVE_MMAP_ANON))
-
- Software requirements:
- ----------------------
-
- #ifdef UNIX_LINUX
- #ifdef GENERATIONAL_GC
- This version of CLISP requires Linux 1.1.52 or newer.
- #else
- This version of CLISP requires Linux 0.99.7 or newer.
- #endif
- #endif
- #if !defined(HAVE_MACH_VM) && !defined(HAVE_MMAP_ANON) /* impliziert HAVE_MMAP_DEVZERO */
- /dev/zero must be readable by everyone. You may execute a "chmod a+r /dev/zero"
- to ensure this.
- #endif
-
- #endif
-
- Installation:
- -------------
-
- #ifdef OS2
- First of all, install emx.dll and emxlibc.dll in a separate directory,
- say c:\emx\dll. Add c:\emx\dll (insert the correct drive letter)
- to the LIBPATH statement in your config.sys file. Reboot your computer
- to enable the new LIBPATH statement and the new environment variables.
-
- #ifdef EMUNIX_OLD_8e
- You may also want to install termcap.dat in a separate directory,
- say c:\emx\etc.
-
- #endif
- #endif
- #ifdef UNIX
- #ifndef UNIX_BINARY_DISTRIB
- Type
-
- cd base
- cc lisp.a libnoreadline.a -ltermcap -s -o lisp.run
- cd ..
-
- or - if you prefer having GNU readline's input editing capabilities -
-
- cd base
- cc lisp.a libreadline.a -ltermcap -s -o lisp.run
- cd ..
-
- to build the executable against your C library.
-
- #endif
- Change the strings in src/config.lsp, using a text editor.
- #else
- Edit the contents of config.lsp appropriately for your site,
- especially the definitions of short-site-name and long-site-name.
- You may also want to edit the time zone definition at the end of
- timezone.lsp.
- #endif
- Then start
-
- #ifdef MSDOS
- lisp.exe -M lispinit.mem
- #endif
- #ifdef ATARI
- lisp.prg -M lispinit.mem
- #endif
- #ifdef AMIGAOS
- lisp.run -M lispinit.mem
- #endif
- #ifdef UNIX
- base/lisp.run -M base/lispinit.mem
- #endif
-
- When the LISP prompt
-
- > _
-
- appears, type
-
- #ifdef UNIX
- (compile-file "src/config")
- (load "src/config")
- #else
- (compile-file "config")
- (load "config")
-
- and - in case you modified timezone.lsp -
-
- (compile-file "timezone")
- (load "timezone")
- #endif
-
- and then
-
- #ifdef UNIX
- (cd "base/")
- #endif
- (saveinitmem)
-
- to overwrite the file lispinit.mem with your configuration. Then
-
- (exit)
-
- #ifdef UNIX
- The rest is done by a simple
-
- make install
-
- Instead, you may do this yourself, step by step:
-
- #endif
- Then create a directory, and put the executable and the memory image there.
- #ifdef UNIX
- 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
- #endif
- #ifdef MSDOS
- Assuming D:\LIB\LISP :
-
- mkdir d:\lib\lisp
- copy lisp.exe d:\lib\lisp
- copy lispinit.mem d:\lib\lisp
- #endif
-
- #ifdef MSDOS
- And create a batch file that starts lisp:
-
- #ifndef OS2
- copy con c:\bat\clisp.bat
- #else
- copy con c:\cmd\clisp.cmd
- #endif
- d:\lib\lisp\lisp.exe -M d:\lib\lisp\lispinit.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
- [Ctrl-Z]
- #endif
- #ifdef UNIX
- And create a shell script that starts lisp:
-
- cat > /usr/local/bin/clisp
- #ifndef UNIX_BROKEN_SH
- #ifdef UNIX_USE_KSH
- #!/bin/ksh
- #else
- #!/bin/sh
- #endif
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
- #else
- #!/bin/sh
- if test $# = 0; then
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem
- else
- exec /usr/local/lib/lisp/lisp.run -M /usr/local/lib/lisp/lispinit.mem "$@"
- fi
- #endif
- [Ctrl-D]EOF
- chmod a+x /usr/local/bin/clisp
-
- #ifdef GNU_READLINE
- Now install the man pages
- #else
- Now install the man page
- #endif
-
- mv doc/clisp.1 /usr/local/man/man1/clisp.1
- #ifdef GNU_READLINE
- mv doc/clreadline.3 /usr/local/man/man3/clreadline.3
- #endif
-
- and try
-
- man clisp
- #endif
-
- #if defined(MSDOS) && !defined(OS2)
-
- Installation under Microsoft Windows:
- -------------------------------------
-
- CLISP also runs in the DOS box of Microsoft Windows 3.1.
- To achieve this, the following additional steps are necessary:
-
- 1. Get and install
- ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/dos/clisp-english.zip
- as described above.
-
- 2. Get and install RSX in, for instance, c:\rsx.
- ftp.uni-bielefeld.de:/pub/systems/msdos/misc/dpmigcc4.zip
- ftp.shsu.edu:/tex-archive/systems/msdos/dpmigcc/dpmigcc4.zip
-
- 3. Call the PIF editor and input the following:
-
- Program: c:\rsx\bin\rsx.exe c:\lib\lisp\lisp.exe
- Program title: COMMON LISP
- Program parameters: -M c:\lib\lisp\compiled.mem
- Start directory: e:\lisp (or whatever)
- Screen: Text
- Memory requirements: requires: 500 maximum: 640
- EMS memory: requires: 0 maximum: 0
- XMS memory: requires: 1024 maximum: -1
- Display: [as you like]
- Quit_closes_window: [as you like]
- Execution: [as you like]
- other_options: [as you like]
-
- (You will probably choose the directory which contains your lisp programs
- as start directory, instead of e:\lisp.)
-
- Save it under the name WINCLISP.PIF.
-
- 4. In the program manager, in a suitable group:
-
- Menu "File" -> "New" -> "Program", window "program properties".
- Input there:
-
- Description: COMMON LISP
- Command line: winclisp.pif
- Start directory: e:\lisp
- Key combination: Ctrl+Alt+Shift+L [as you like]
-
- Clicking with the mouse on the such created icon or pressing the key
- combination given above in the program manager will now start CLISP.
-
- Remarks:
-
- * Cut & Paste in DOS boxes (via menu "Edit" -> "Mark" resp.
- menu "Edit" -> "Insert") inserts an <Enter> at the end. Therefore one
- cannot re-edit a pasted line.
-
- * But the editing facilities mentioned in CLISP.MAN and READLINE.DVI work.
-
- #endif
- #ifdef AMIGAOS
-
- Note:
- -----
-
- You can start CLISP from Workbench(tm). The following Tooltypes are
- recognized in the Tool Icon:
-
- WINDOW=<window or pipe specification>
- ARGS=<CLI-like arguments>
-
- For example,
-
- WINDOW=CON:0/11/640/200/CLISP-Listener
- ARGS=-M lispinit.mem
-
- #endif
- #ifdef MSDOS
-
- The editor:
- -----------
-
- Normally CLISP's ED function calls the editor you specified in config.lsp.
- However, after you did
-
- (load "editor")
-
- it invokes a builtin screen editor. It is a bit Emacs-like: you can evaluate
- lisp expressions from within the editor, and the result is pasted into the
- editor buffer. Type Alt-H to see the full set of commands.
- #if defined(EMUNIX_PORTABEL) && defined(EMUNIX_OLD_8e)
-
- Note that for the editor working properly, it is necessary that you have
- a line like
-
- DEVICE=ANSI.SYS
-
- in your CONFIG.SYS file. Furthermore the environment variable TERM must
- be set, and the environment variable TERMCAP must contain the slashified
- file name of the terminal capabilities database termcap.dat. It is a good
- idea to put this stuff into the clisp.bat built above:
-
- set TERM=ansi
- set TERMCAP=c:/emx/etc/termcap.dat
-
- `ansi-color-2' instead of `ansi' looks nice, too.
- #endif
-
- #endif
-
- When you encounter problems:
- ----------------------------
-
- #ifdef EMUNIX
- If clisp doesn't start up at all, check EMX-USER.DOC. lisp.exe is an EMX
- application, so everything mentioned there applies to lisp.exe.
-
- #endif
- 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.
-
- #ifdef UNIX
- On bigger problems, e.g. core dumps, please send a description of the error
- #endif
- #ifdef ATARI
- On bigger problems, e.g. bombs, please send a description of the error
- #endif
- #ifdef AMIGAOS
- On bigger problems, e.g. "guru"s, please send a description of the error
- #endif
- #ifdef MSDOS
- On bigger problems, e.g. register dumps, please send a description of the error
- #endif
- 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).
-
-
- Mailing List:
- -------------
-
- There is a mailing list for users of CLISP. It is the proper forum for
- questions about CLISP, installation problems, bug reports, application
- packages etc.
-
- For information about the list and how to subscribe it, send mail to
- listserv@ma2s2.mathematik.uni-karlsruhe.de, with the two lines
- help
- information clisp-list
- in the message body.
-
-
- Acknowledgement:
- ----------------
-
- #ifdef MSDOS
- If you find CLISP fast and bug-free and you like using it, a gift of $25
- (or any amount you like) will be appreciated. Most DOS software costs
- something, so you will probably already be used to paying.
-
- If not, feel free to send us suggestions for improvement. Or grab the
- source of CLISP, improve it yourself and send us your patches.
-
- #endif
- We are indebted to
- * Guy L. Steele and many others for the Common Lisp specification.
- #ifdef UNIX
- * Richard Stallman's GNU project for GCC, Autoconf and the readline library.
- #else
- #ifdef GNU_READLINE
- * Richard Stallman's GNU project for GCC and the readline library.
- #else
- #ifdef GNU
- * Richard Stallman's GNU project for GCC.
- #endif
- #endif
- #endif
- #ifdef EMUNIX
- * Eberhard Mattes for EMX.
- #endif
-
-
- Authors:
- --------
-
- Bruno Haible Michael Stoll
- Augartenstra▀e 40 Gallierweg 39
- D - 76137 Karlsruhe D - 53117 Bonn
- Germany Germany
-
- Email: haible@ma2s2.mathematik.uni-karlsruhe.de
- #ifdef AMIGAOS
-
- Amiga Port by:
- --------------
-
- J÷rg H÷hle
- Radolfzeller Stra▀e 3
- D - 78476 Allensbach
- Germany
-
- Email: hoehle@inf-wiss.uni-konstanz.de
- #endif
-
- Maintainer:
- -----------
-
- Marcus Daniels
-
- Email: marcus@ee.pdx.edu
- #endif /* DEUTSCH / ENGLISH */
-