|
|
## Einstieg in Level1
|
|
|
|
|
|
Auf Level 1 sind nur die einfachsten Konstrukte von Haskell verfügbar. Wir können aber schon einfache Funktionen schreiben. Wir wollen anhand des Beispiels 'Fibonacci-Funktion' den Grundaufbau eines Programmes in DrHaskell erläutern.
|
|
|
Wir erinnern dazu noch einmal an die Definition der Fibonacci-Funktion:
|
|
|
|
|
|
fib(n) = fib(n-1) + fib(n-2) für n>2
|
|
|
fib(1) = fib(2) = 1
|
|
|
|
|
|
Wir beginnen also mit unserem Programm. Die erste Zeile eines DrHaskell-Programmes soll immer die Level-Definition beinhalten, in diesem Fall für Level 1:
|
|
|
|
|
|
``` {.haskell}
|
|
|
{-# DRHASKELL LEVEL1 #-}
|
|
|
```
|
|
|
|
|
|
Zuerst halten wir fest, dass die Fibonacci-Funktion eine Zahl (nämlich die wievielte Fibonacci-Zahl berechnet werden soll) auf eine Zahl (nämlich die dazugehörige Fibonacci-Zahl) abbildet. DrHaskell erzwingt die Angabe von Signaturen, um einen guten Programmierstil zu fördern:
|
|
|
|
|
|
``` {.drhaskell}
|
|
|
fib :: Int -> Int
|
|
|
```
|
|
|
|
|
|
Es folgt die eigentliche Funktionsdefinition.
|
|
|
|
|
|
``` {.haskell}
|
|
|
fib 0 = 1
|
|
|
fib 1 = 1
|
|
|
fib n = fib (n-1) + fib (n-2)
|
|
|
```
|
|
|
|