zur Erinnerung: sort = inorder . foldr insert Leaf
mit
insert x t = case t of Branch {} -> if x < key t then ...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<T> { int compareTo (T o); }