Der Typ von sort

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); }



Johannes Waldmann 2014-07-10