mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 21:10:27 +02:00
(delete-duplicates): Change to a tail-recursive form.
This commit is contained in:
parent
95bc9d7a2e
commit
6b0fbcf5e5
1 changed files with 3 additions and 3 deletions
|
@ -924,10 +924,10 @@
|
|||
|
||||
(define (delete-duplicates list . rest)
|
||||
(let ((l= (if (pair? rest) (car rest) equal?)))
|
||||
(let lp ((list list))
|
||||
(let lp ((list list) (rl '()))
|
||||
(if (null? list)
|
||||
'()
|
||||
(cons (car list) (lp (delete (car list) (cdr list) l=)))))))
|
||||
(reverse! rl)
|
||||
(lp (delete (car list) (cdr list) l=) (cons (car list) rl))))))
|
||||
|
||||
(define (delete-duplicates! list . rest)
|
||||
(let ((l= (if (pair? rest) (car rest) equal?)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue