Default-Implementierungen

offizielle Definition von class Ord a, siehe http://www.haskell.org/onlinereport/basic.html#sect6.3.2

class  (Eq a) => Ord a  where
    -- Deklarationen:
    compare              :: a -> a -> Ordering
    (<), (<=), (>=), (>) :: a -> a -> Bool
    -- (gegenseitige) Default-Implementierungen:
    compare x y | x == y    = EQ
                | x <= y    = LT
                | otherwise = GT
    x <= y  = compare x y /= GT
    x <  y  = compare x y == LT
Absicht: Man implementiert entweder compare oder (<=), und erhält restliche Methoden durch Defaults.



Johannes Waldmann 2010-01-25