class Eq a where
(==) :: a -> a -> Bool
Vergleichen von Listen (elementweise)
wenn a in Eq, dann [a] in Eq:
instance Eq a => Eq [a] where
l == r = case (l,r) of
( [], [] ) -> True
(x : xs, y : ys)
-> (x == y) && ( xs == ys )
( _, _ ) -> False
Übung: wie sieht instance Ord a => Ord [a] aus?
(lexikografischer Vergleich)