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