Haskell-Interpreter

Haskell-Interpreter
Für die Übungen wird ein Haskell-Interpreter mit dem freundlichen Namen Hugs verwendet. Hugs ist auf den FreeBSD- und SUN-Rechnern am WSI bereits installiert und kann durch den Befehl hugs auf der Kommandozeile gestartet werden. Auf der Hugs-Homepage findet sich der Interpreter in vorkompilierten Versionen für verschiedene Plattformen. Alternativ kann auch der vergleichsweise schwieriger zu handhabende Glasgow Haskell Compiler (GHC) verwendet werden. Am WSI ist GHC nur auf den FreeBSD-Rechnern installiert.

Editor für Haskell-Sourcen
Als Editor für Haskell-Quelltexte ist der XEmacs zu empfehlen, der ebenfalls auf allen Rechnern am WSI installiert ist. Für den maximalen Entwicklungs-Komfort ist die Installation des alternativen Haskell-Modes von Peter Thiemann dringend zu empfehlen.
Das geht so: Die Emacs-Lisp-Quelldatei mit dem Haskell-Mode ist im AFS zentral im Verzeichnis /afs/informatik.uni-tuebingen.de/pu/fp-2003/lib/lisp zu finden. Dem XEmacs muss nur noch mitgeteilt werden, dass der Haskell-Modus aus diesem Verzeichnis benutzt werden soll. Dazu wird folgendes in der Konfigurationsdatei des XEmacs (entweder ~/.xemacs/init.el oder ~/.emacs) eingetragen:

;; Haskell Mode
;; ############
(setq load-path (cons "/afs/informatik.uni-tuebingen.de/pu/fp-2003/lib/lisp" load-path))

(defun my-haskell-constants ()
   (setq haskell-prog-name "hugs")
   (setq haskell-prog-switches "+.")
   (setq haskell-use-left-delim "")
   (setq haskell-use-right-delim ""))

(add-hook 'haskell-mode-hook 'my-haskell-constants)

(setq auto-mode-alist 
      (cons '("\\.hs$" . haskell-mode) 
	    (cons '("\\.lhs$" . haskell-mode)
		  auto-mode-alist)))
(autoload 'haskell-mode "haskell-mode" "Major mode for editing Haskell." t)
Am einfachsten ist es, den XEmacs jetzt neu zu starten damit die Änderungen aktiv werden. Eine Dokumentation für diesen Mode ist im Quellcode haskell-mode.elenthalten.
Wenn es Schwierigkeiten bei der Installation des Haskell-Mode oder mit Hugs gibt, dann bitte an Eric Knauel wenden.


Zurück zur Übersicht


Eric Knauel
Last modified: Wed Apr 30 15:18:53 CEST 2003