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 == LTAbsicht: Man implementiert entweder
compare
oder (<=)
,
und erhält restliche Methoden durch Defaults.
Aufgabe: Was passiert, wenn man nur (<)
implementiert,
und (<=)
aufruft?
-- Beachte bei instance Ord Student