eigentlich:
data List a = Nil {} | Cons { head :: a, tail :: List a }wegen früher häufiger Benutztung verkürzte Schreibweise:
List a = [a], Nil = [], Cons = (:)
data [a] = [] | (:) { head :: a, tail :: [a] }Pattern matching für Listen:
append :: [a] -> [a] -> [a] append a b = case a of [] -> b x : xs -> ...