benutzt Zugriffsfunktion (tail):
length :: [a] -> Int
length l = case l of
[] -> 0
_ -> 1 + length (tail l)
Variablenbindung (für x, xs)
durch pattern matching:
length l = case l of
[] -> 0
x : xs -> 1 + length xs
desgl. in Deklarationen mit mehreren Klauseln:
length [] = 0 length (x : xs) = 1 + length xs