quickSort :: Ord a => [a] -> [a] quickSort [] = [] quickSort (x:xs) = let less = [ a | a <- xs, a < x ] equal = [ b | b <- (x:xs), b == x ] greater = [ c | c <- xs, c > x ] in quickSort less ++ equal ++ quickSort greater