Compiler testen

Als erstes Programm in einer imperativen Programmiersprache lernt man das „Hello World“-Programm. Das wäre in Haskell auch möglich, aber nicht ohne auf einen Großteil der Sprachelemente einzugehen. Deshalb hier ein anderes Beispielprogramm.

Der GHC hat sowohl einen normalen Compiler-Modus, als auch einen interaktiven Modus. In diesem Interaktiven Modus können Programmdateien eingelesen werden, einzelne Funktionen gerufen oder deklariert werden, sich Informationen über Funktionen etc. anzeigen lassen aber auch im laufenden Betrieb neue Funktionen definieren und ausprobieren.

Dazu starten wir zunächst den GHC im interaktiven Modus:

ghci <dateiname>

Der erste Parameter ist optional, Sie können dort eine Datei angeben, die direkt vom GHC geladen wird. Parserfehler meldet der GHC dann automatisch. Starten Sie den ghci ohne Parameter, erhalten Sie folgende Ausgabe:

GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> 

Nun können Sie Befehle eingeben. Probieren wir bspw. „4+3“.

Prelude> 4+3
7

Dh. der Operator '+' wird auf die Parameter 4 und 3 angewandt und das Ergebnis ist 7. Formulieren wir das als Funktion in eine eigene Datei:

sum.hs
mysum :: Int -> Int -> Int
mysum a b = a+b

Haskell-Dateien haben die Endung hs. Laden wir den Code in den ghci, und rufen die Funktion mysum mit 4 und 3:

$ ghci sum.hs
GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main             ( sum.hs, interpreted )
Ok, modules loaded: Main.
*Main> mysum 4 3
7

Sie verlassen den interaktiven Modus von GHC mit [Strg]+[D].