quicksort :: (Ord a) => [a] -> [a] quicksort [] = [] quicksort (x:xs) = quicksort smaller ++ [x] ++ quicksort greater where smaller = filter (<= x) xs greater = filter (> x) xs