haskell-workshop/exercises/block3/2-maybe/README.md

17 lines
813 B
Markdown

# Übungsaufgabe 2: Maybe (optional)
## Einführung
Öffne GHCi und versuche, eine leere Liste an die Funktion *head* zu übergeben. Was passiert?
## Anweisungen
Die Standardfunktionen *head*, *tail*, *last* und *init* sind für leere Listen problematisch, weil sie Fehler werfen. Dein Ziel ist es, eigene Versionen dieser Funktionen zu schreiben, die nie fehlschlagen. Die Funktionen sollen *Just x* zurückgeben, wenn die Liste mindestens ein Element enthält, und *Nothing*, wenn die Liste leer ist.
So könnte die Typannotation deiner sicheren Funktion beispielsweise aussehen:
```safeHead :: [a] -> Maybe a```
## Ausführen und Testen
Kompiliere den Code, führe das Programm aus und überprüfe die Ausgaben. Alle Ausgaben sollten *True* sein, wenn *Just* und *Maybe* korrekt implementiert wurden.