Fix sort procedure in base system

This commit is contained in:
Lassi Kortela 2019-08-28 21:22:06 +03:00
parent 50063d4523
commit 471d24ce38
1 changed files with 10 additions and 8 deletions

View File

@ -1092,14 +1092,16 @@
(simple-sort grtr))))))
(define (sort l (less? <) (key identity))
(if (or (null? l) (null? (cdr l))) l
(let ((piv (car l)))
(receive (less grtr)
(separate (lambda (x) (less? (key x) (key piv)))
(cdr l))
(nconc (sort less)
(list piv)
(sort grtr))))))
(let sort ((l l))
(if (or (null? l) (null? (cdr l)))
l
(let ((piv (car l)))
(receive (less grtr)
(separate (lambda (x) (less? (key x) (key piv)))
(cdr l))
(nconc (sort less)
(list piv)
(sort grtr)))))))
(define (apropos-list key)
(let ((key (string-downcase