Der Typ von sort

zur Erinnerung: sort enthält:

let ( low, high ) = partition ( < ) xs in ...
Für alle a, die für die es eine Vergleichs-Funktion gibt,
hat sort den Typ [a] -> [a].
sort :: Ord a => [a] -> [a]

Hier ist Ord eine Typklasse, so definiert:

class Ord a where
    compare :: a -> a -> Ordering
data Ordering = LT | EQ | GT
vgl. Java: interface Comparable { int compareTo(Object o) }
(<) :: Ord a => a -> a -> Bool
x < y  =  LT == compare x y



Johannes Waldmann 2004-11-30