From 6b0fbcf5e5ebb32607fb38e38b8bd5860b0f6771 Mon Sep 17 00:00:00 2001 From: Kevin Ryde Date: Sun, 5 Dec 2004 22:49:54 +0000 Subject: [PATCH] (delete-duplicates): Change to a tail-recursive form. --- srfi/srfi-1.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srfi/srfi-1.scm b/srfi/srfi-1.scm index 61aff101a..ff9be8e2f 100644 --- a/srfi/srfi-1.scm +++ b/srfi/srfi-1.scm @@ -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?)))