Uni Marburg, FB 12: Informationen zur Benutzung von Haskell
Autor:
Jost Berthold, Stand der Informationen: Wednesday, 02-Nov-2005 14:39:32 CET
Haskell ist eine funktionale Programmiersprache mit dem aktuellen Sprachstandard
Haskell 98.
Es gibt verschiedene Compiler und Interpreter für Haskell, maßgeblich ist der
Glasgow Haskell Compiler (GHC) und der Interpreter
HUGS.
Diese Seite enthält Beispielprogramme und Informationen für einen Schnelleinstieg in Haskell.
In Kürze:
- Haskell-Programme können mit HUGS interpretiert oder mit GHC übersetzt werden.
Eine kleine Anleitung (Stand 10/2003)
erklärt Grundlagen von Hugs und Haskell.
- Das Standard-Modul in allen Haskell-Programmen heißt
Prelude.hs. Es enthält viele vordefinierte Funktionen.
Falls man keine Dokumentation zu
Prelude.hs findet, kann man auch direkt in diesem Modul nach der gewünschten Funktion
suchen, es ist gut lesbar und kommentiert.
- Andere Standardmodule sind auch in jeder Distribution, müssen aber explizit importiert werden.
- Hilfreich ist auch die Sammlung von typischen Hugs-Fehlermeldungen.
Haskell-Beispiele
FirstHaskell.hs:
Dies sind (ungefähr) die einfachen Beispiele aus der Vorlesung
Praktische Informatik III (WS 03/04). Hauptsächlich wird die Syntax von Haskell gezeigt.
Types.hs
enthält weitere Beispiele, diskutiert auch kurz Typen und grundlegende funktionale
Programmiertechniken.
ShowPrime.hs
ist ein Hauptprogramm, welches das Modul Types importiert.
Beispiele mit I/O:
HelloWorld.hs, der Klassiker in Haskell
Parameters.hs, liest Parameter von der Kommandozeile und eine interaktive Eingabe
FileIO.hs, liest aus einer Datei und
schreibt in eine andere (und einiges mehr...)
Online-Material zum Selbstlernen
Im Web finden sich einige Dokumente zum Thema Haskell (mit verschiedener Ausrichtung).
Empfohlen sei hier "Yet another Haskell Tutorial" von Hal Daume, wo neben der Sprache auch
z.B. existierende Implementierungen (Compiler/Interpreter) besprochen werden.
tutorial.pdf
tutorial.ps
Es gibt auch einen
Online-Kurs Haskell in deutsch von Ralf Hinze.
Startpunkt für weitere Recherchen ist am besten die Haskell-Seite
www.haskell.org,
insbesondere das Bücherbord
www.haskell.org/bookshelf.
Verfügbarkeit am FB 12 der Philipps-Universität:
- Windows: HUGS ist an unserem Fachbereich bei den Unterlagen zu "Praktische Informatik III" in Laufwerk M zu finden.
Der aktuelle Pfad lautet M:\2003WS\PraktischeInformatikIII\Hugs\, das Programm ist winhugs.exe.
Ein GHC in aktueller Version ist unter M:\2003WS\PraktischeInformatikIII\Ghc\ zu finden, die Programme liegen in \bin
Neben dem Compiler liegt hier auch der GHC-Interpreter ghci. Er wird fast genauso wie Hugs bedient, besitzt aber kein GUI (hat dafür andere Vorteile...).
- Linux: HUGS und GHC sind im Verzeichnis /app/lang/functional/ in verschiedenen Versionen vorhanden.
Das Verzeichnis /app/lang/functional/bin/ enthält Links zu aktuellen Versionen und kann dem Pfad im Benutzerprofil hinzugefügt werden (siehe Datei ~/.tcshrc).
Zusätzlich gibt es hier Hinweise zur Konfiguration von UltraEdit und Emacs als Haskell-Programmierwerkzeuge.
Glasgow Parallel Haskell / GranSim / Eden:
Es existieren Erweiterungen von Haskell für Parallelverarbeitung, die in der Vorlesung
Parallelität in funktionalen Sprachen behandelt werden.
Sie basieren auf dem Haskell-Compiler GHC und befinden sich in kontinuierlicher Entwicklung.
Um mit parallelen Programmen zu arbeiten, muss man sie mit dem GHC mit passenden Optionen
übersetzen. Außerdem muss man dazu PVM konfigurieren.
Diese Anleitung erklärt die Konfiguration und Benutzung genauer.