Vorlesung Funktionale Grafikprogrammierung

Vorlesungstermin

Prof.Dr.B.Möller
    Montag12:15 - 13:45Raum 1009

Vorlesungsskript


Programmbeispiele


Literatur

Paul Hudak: The Haskell School of Expression - Learning Functional Programming through Multimedia. Cambridge University Press 2000. ISBN 0-521-64408-9

Internet-Seiten hierzu


Software: Hugs und seine Grafikerweiterungen

Wir beschreiben hier nur die Installation der Hugs-Graphikpakete unter Win32. Die ältere Hugs-Version mit graphischer Oberfläche arbeitet u.U. mit den Graphikpaketen nicht ordentlich zusammen. Es empfiehlt sich, die neueste Hugs-Version zu verwenden, ladbar über Eine automatische Installationsdatei findet sich auch unter

Das Programm, das Dateien mit der Extension .msi bearbeiten kann, erhält man über

Die Datei instmsia.exe etwa nach \temp laden und dort ausführen - damit installiert sich der Installierer selbst.

Im folgenden sei <Hugs> der Teilpfad zum Verzeichnis, in dem der Hugs-Interpreter liegt.

  1. Die Dateien graphics-2.0.3.zip und win32.zip von folgender Adresse herunterladen und in das Verzeichnis <Hugs> entpacken lassen:


  2. Den Hugs-Interpreter aufrufen und mit den nachfolgenden Kommandozeilen die Zugriffspfade auf die beiden Pakete hinzufügen.
    Achtung: Dabei nicht die abschließenden Semikolons vergessen (sonst wird jeweils der aktuelle Suchpfad überschrieben statt verlängert)!
    • :set -P<Hugs>\win32;
    • :set -P<Hugs>\graphics-2.0.3\lib\win32;
    • :set -P<Hugs>\lib\exts;
    Hat man sich aus Versehen den Pfad "zerschossen", läßt sich Hugs nicht mehr direkt starten, da die Datei prelude.hs nicht mehr gefunden wird. Abhilfe: Ein DOS-Fenster öffnen, zum Hugs-Verzeichnis navigieren und dort Hugs starten mit dem Aufruf
    • hugs -P<Hugs>\lib
    Anschließend können die Pfade wieder mit :set restauriert werden.

    Variante: Statt jedesmal den Hugs-Pfad explizit anzugeben, kann man auch die Zeichenfolge {Hugs} tippen; die nachfolgenden \-Zeichen müssen dann aber jeweils verdoppelt werden, also etwa

    • :set -P{Hugs}\\lib\\exts;

  3. Am besten bindet man dann noch einen Editor in den Hugs-Interpreter ein durch das Kommando
    • :set -E<Editor-Pfad>
    Dann läßt sich die jeweils zuletzt geladene Datei mit :e edieren.