Funktionale Programmierung |
|||||||||||
|
Software zur VorlesungFü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 installierenFü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 XEmacsEs 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 (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.0bereits 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 Die wichtigsten Tastaturkürzel für die Interaktion mit dem Interpreter sind:
Eine genauere Beschreibung erhält man, wenn man in einer Haskell-Datei Testfälle beim Laden auswertenIm XEmacs kann man recht kompfortabel Testfälle gleich beim Laden auswerten lassen. Dazu setzt man die XEmacs-Variable (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.
|
||||||||||
|