Varianten von Fallunterscheidungen

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



Johannes Waldmann 2006-06-22