(vgl. Abschnitt in Real World Haskell)
sort [] = [] sort (x:xs) = let (lo,hi) = Data.List.partition (<x) xs slo = sort lo ; shi = sort hi in slo ++ x : shirekursive Aufrufe sollten gleichzeitig ausgewertet werden:
let ... in slo `par` (shi `pseq` (slo ++ x : shi))