Klassen-Hierarchien

Typklassen können in Beziehung stehen.

Ord ist tatsächlich abgeleitet von Eq:

class Eq a where
   (==) :: a -> a -> Bool
class Eq a => Ord a where
   (<)  :: a -> a -> Bool
also muß man erst die Eq-Instanz deklarieren, dann die Ord-Instanz.

Beachte: das sind Abhängigkeiten (Ableitungen, Vererbungen) zwischen Typklassen (Interfaces) -- gut, ...hingegen sind Abhängigkeiten (Vererbungen) zwischen Implementierungen schlecht (und in Haskell gar nicht möglich...)



Johannes Waldmann 2005-06-08