Idris-dev/test/totality003/totality003.idr
Jeff Hemphill 1275b9e8cc Fix a bug in qsort
Try `qsort [3,3]`. Under the old code, you'd get `[3,3,3]` out.
2014-07-18 00:58:54 -07:00

8 lines
220 B
Idris

module smaller
total
qsort : Ord a => List a -> List a
qsort [] = []
qsort (x :: xs) = qsort (assert_smaller (x :: xs) (filter (< x) xs)) ++
(x :: qsort (assert_smaller (x :: xs) (filter (>= x) xs)))