Jede Gleichung in einer Funktionsdefinition kann 'guards' enthalten, die Bedingungen angeben, welche von den Argumenten der Funktion erfüllt werden müssen:
f x1 x 2 ... x1 | bedingung1 = e1
| bedingung2 = e2
...
| bedingungm = em
Beispiel: oddity n | even n = "even"
| otherwise = "odd"