Software zur Vorlesung
In der Vorlesung wird die Software Objective Caml verwendet. Auf den Rechnern des WSI ist Objective Caml bereits installiert.
Objective Caml im Web
Objective Caml zu Hause installieren
Die Distribution könnt ihr für verschiedene Betriebssysteme hier
herunterladen
Objective Caml im XEmacs laufen lassen
Objective Caml ist am einfachsten unter XEmacs zu betreiben.
Im Pool genügt es, XEmacs regulär (via xemacs von der
Kommandozeile oder vom Start-Menü aus) zu starten. Alle Dateien mit
den Endungen .ml oder .mli werden automatisch in einen speziellen
O'Caml-Modus versetzt, der auch ein Caml-Menü besitzt. Von dort läßt
sich Code automatisch einrücken, und die häufigsten
Caml-Ausdrucksformen lassen sich automatisch als Schablone einfügen.
Der Menüpunkt Caml -> Start subshell öffnet ein XEmacs-Fenster, in dem eine Caml-REPL läuft. Der Vorteil gegenüber einer REPL, die etwa in einem xterm läuft ist, daß sich die eingegebenen Zeilen editieren lassen, und daß sich früher eingegebene Zeilen (via M-p und M-n) zurückholen lassen.
Der Caml-Mode stellt eine Reihe von Tastaturkürzeln bereit, welche die Tastenkombination C-h m
angezeigt. Besonders hilfreich sind dabei:
C-c C-e
um die Definition, in dem der Cursor sich gerade befindet zum Interpreter zu schicken.
C-c `
um bei einer Fehlermeldung an die entsprechende Stelle zu springen.
C-c C-s
um den Buffer mit dem Caml-Interpreter anzuzeigen.
C-c C-q
um die momentane Definition schön einzurücken.
Caml Mode für den XEmacs installieren
- Für den Betrieb von O'Caml im XEmacs zu Hause ist es notwendig, die Dateien aus dem emacs-Verzeichnis der O'Caml-Distribution an eine für XEmacs zugängliche Stelle zu kopieren. Dazu gibt es zwei Möglichkeiten.
- Verzeichnis xemacs-packages der XEmacs-Installation finden und daneben ein Verzeichnis site-packages zu erzeugen. Die Situation sieht dann so aus:
.../lib/xemacs/xemacs-packages
.../lib/xemacs/site-packages
Dann innerhalb von site-packages ein Unterverzeichnis lisp und darin ein Unterverzeichnis ocaml-mode einrichten, etwa so:
.../lib/xemacs/site-packages/caml-mode
In dieses Verzeichnis die Dateien mit der Endung .el aus dem
emacs-Verzeichnis der O'Caml-Distribution kopieren. Außerdem noch die
Datei auto-autoloads.el ebenfalls in dieses Verzeichnis kopieren.
- Wenn das xemacs-packages Verzeichnis nicht auffindbar ist,
kann man die .el-Dateien auch im eigenen Home-Verzeichnis ablegen und Emacs
mitteilen, wo er sie findet. Im folgenden Beispiel liegt das emacs-Verzeichnis
aus der Distribution in ~/tmp/emacs.
Als letztes muss der XEmacs noch wissen, dass er Dateien mit den Endungen .ml
und .mli
mit dem caml-mode aufmachen soll, dass
er dabei den font-lock-mode verwenden soll. Dazu fügt man folgende Zeilen
in die Datei ~/.xemacs/init.el (bzw. ~/.emacs für dem normalen Emacs) ein.
(add-to-list 'load-path
'"~/tmp/emacs") ;; ANPASSEN, WENN NICHT IN site-packages
(add-to-list 'auto-mode-alist
'("\.ml[iylp]?$" . caml-mode))
(add-hook 'caml-mode-hook 'font-lock-mode)
(autoload 'caml-mode "caml")
(autoload 'camldebug "camldebug" "Run the Caml debugger" t)
Neben dem genannten caml-mode, der mit OCaml geliefert wird,
gibt es einen erweiterten tuareg-mode
, der den Quellcode farbiger gestaltet. Bei der Installation geht man analog
zum caml-mode vor, ersetzt aber caml durch tuareg.
Jetzt ggf. XEmacs neu starten und (hoffentlich) presto!
Objective Caml interaktiv in der Shell
Wer ocaml
direkt in der Shell startet, stört sich wahrscheinlich daran, dasskeine Unterstützung zum Editieren (Cursor bewegen etc.) vorhanden ist.Hier hilft das Programm ledit
, welches auf den WSI-Rechnern bereits vorinstalliert ist.
Einfach ocaml
als Argument an ledit
übergeben:
> ledit ocaml
Objective Caml version 3.08.4
#
Und schon funktioniert alles wie gewünscht.
Kommandos für ocaml
Der ocaml
-Interpreter versteht einige Kommandos, die im Handbuch
im Abschnitt "Toplevel directives" aufgeführt sind.
Für den Anfang ist das Kommando #use
wohl am wichtigsten: Es lädt den Inhalt einer Datei in den Interpreter.
|