Als Lispumgebung verwenden wir Allegro Common Lisp. Auf den Lehrstuhlrechnern ist bereits alles vorkonfiguriert, um mit Lisp arbeiten zu können. In der Kommandozeile wird Lisp mit dem Befehl alisp gestartet. Beendet wird Lisp mit (excl:exit).
Allerdings ist das Arbeiten in der Konsole nicht sehr komfortabel, da z.B. keine Befehlshistorie zur Verfügung steht. Einfacher ist es, wenn Lisp innerhalb des Emacs ausgeführt wird. Emacs ist ein mächtiger Editor mit sehr vielen Tastenkombinationen. Folgende Tastenkombinationen sind speziell für die Ausführung von Lisp interessant:
| Control-l ('l' wie in lisp) | startet Lisp in einem eigenen Buffer. |
| Control-f | beendet Lisp. |
| ESC-p oder Alt-p | holt das vorherige Kommando aus der Historie von Kommandos. |
| ESC-n oder Alt-n | holt das nächste Kommando aus der Historie. |
Im folgenden findet sich eine kleine Schritt für Schritt Anleitung um mit der Lispumgebung vertraut zu werden.
Step 1: Die Datei example.lisp in ein beliebiges Verzeichnis speichern.
Step 2: Emacs starten und die Datei example.lisp mit "C-x C-f" laden.
Step 3: Mit "C-l" Lisp starten. Dies sollte einen neuen Buffer im Emacs erzeugen.
Step 4:
Der Befehl (load "path/to/example.lisp") lädt das Beispiel. Mit (two-to-the 4) kann die geladene Funktion getestet werden. Das Ergebnis sollte '16' sein.
Step 5: Mit "Alt-p" blättert man in der Historie. Damit kann man ganz leicht das letzte Kommando noch einmal ausführen.
Step 6: Mit "C-x b" (mit Enter akzeptiert man den Defaultwert) wechselt man in den vorherigen Buffer (example.lisp). Fügt in der Definition von 'two-to-the' die Zeile "(format t "n = ~s~%" n)" hinzu. Mit "C-x C-s" wird die Datei gespeichert und mit "C-l" kommt man immer wieder zurück in den Lisp-Buffer. Durch blättern in der Historie zunächst die Datei neu laden und dann die Funktion noch einmal aufrufen. Es sollte nun der rekursive Ablauf der Funktion ausgegeben werden.
Step 7: Mit "C-f" wird Lisp beendet und mit "C-x C-c" Emacs.