Funktionale Programmierung


Start
Hilfe, Fragen
Literatur und Links
Material
Übungsblätter
Termine
Software
     

Software zur Vorlesung

Für die Vorlesung können die Haskell-Implementierungen GHC und Hugs verwendet werden. Auf den Rechnern des WSI sind diese bereits installiert und können über die Kommandozeile gestartet werden. GHC hat erfahrungsgemäß die besseren Fehlermeldungen und produziert wesentlich schnelleren Code. Hugs benötig weniger Speicherplatz und compiliert schneller. Aufgrund der besseren Fehlermeldungen, empfehle ich GHC und besonders seinen Interpreter GHCi.

GHC zu Hause installieren

Für die Installation auf dem eigenen Rechner ist GHC kostenlos unter der Adresse http://www.haskell.org/ghc/ verfügbar. Dort gibt es für die gängigen Betriebssysteme auch Binärpakete. GHC ist aber auch in den meisten Distributionen für Linux enthalten.

Haskell-Mode für den XEmacs

Es empfiehlt sich, Haskell-Dateien im XEmacs zu editieren, da dieser mit der (Layout-)Syntax von Haskell gut umgehen kann. Außerdem ist es mit diesem Mode leicht möglich, den Inhalt von Quelldateien direkt in den Haskell-Interpreter zu schicken und dann Ausdrücke auszuwerten.

Der Haskell-Mode ist unter der Adresse http://www.iro.umontreal.ca/~monnier/elisp/ zum Download verfügbar.

Zur Installation genügt es, den Tarball irgendwo zu entpacken und dann das Verzeichnis zum load-path hinzuzufügen. Das geschieht mit der folgenden Zeile in der XEmacs-Konfigurationsdatei (i.d.R.~/.xemacs/init.el ):

(add-to-list 'load-path "/pfad/zu/haskell-mode-2.0/")

Am WSI ist der Mode im Verzeichnis

/afs/wsi/pu/fp-2005/lib/lisp/haskell-mode-2.0
bereits installiert.

Danach sind noch folgende Einträge in die XEmacs-Konfigurationsdatei notwendig:

(add-hook 'haskell-mode-hook 'turn-on-haskell-ghci)
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
;; The next two are mutually exclusive:
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent)
(load-library haskell-site-file.el)

Nun lädt XEmacs automatisch den Haskell-Mode, wenn Dateien mit der Endung .hs enden und rückt auch den Code richtig ein.

Die wichtigsten Tastaturkürzel für die Interaktion mit dem Interpreter sind:

  • C-c C-l Sendet eine Datei in den Haskell-Interpreter
  • C-c C-r Lädt eine Datei erneut.
  • C-c C-b Zeigt den Buffer mit dem Haskell-Interpreter an und wechselt in den Buffer.

Eine genauere Beschreibung erhält man, wenn man in einer Haskell-Datei C-h m tippt.

Testfälle beim Laden auswerten

Im XEmacs kann man recht kompfortabel Testfälle gleich beim Laden auswerten lassen. Dazu setzt man die XEmacs-Variable haskell-ghci-command auf den auszuwertenden Ausdruck:

(defconst haskell-ghci-command "test")
Im Haskell-Programm definiert man nun test als eine Liste von Testfällen:
test = [three 42 == 3,
        maxThree 1 4 57 == 57]
Nach C-c C-l sieht man sofort, ob alle Testfälle zu True ausgewertet wurden.

       

Martin Gasbichler
Zuletzt geändert: Tue Apr 26 15:15:22 2005

powered by scsh