original commit: ba3ada699a925ba2d7ffe61f1638ccc495921827
This commit is contained in:
Matthew Flatt 2000-03-08 01:18:53 +00:00
parent 3100091678
commit d3a4170af2

View File

@ -34,9 +34,13 @@
(define quicksort
(polymorphic
(lambda (l less-than)
(unless (list? l)
(raise-type-error 'quicksort "proper list" l))
(unless (procedure-arity-includes? less-than 2)
(raise-type-error 'quicksort "procedure of arity 2" less-than))
(let* ([v (list->vector l)]
[count (vector-length v)])
(let loop ([min 0][max count])
(let loop ([min 0][max count])
(if (< min (sub1 max))
(let ([pval (vector-ref v min)])
(let pivot-loop ([pivot min]