1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

(alist-copy): Change to a tail-recursive form.

This commit is contained in:
Kevin Ryde 2004-12-05 21:44:18 +00:00
parent b802470747
commit aa0745cc05

View file

@ -699,10 +699,11 @@
(acons key datum alist))
(define (alist-copy alist)
(let lp ((a alist))
(let lp ((a alist)
(rl '()))
(if (null? a)
'()
(acons (caar a) (cdar a) (lp (cdr a))))))
(reverse! rl)
(lp (cdr a) (acons (caar a) (cdar a) rl)))))
(define (alist-delete key alist . rest)
(let ((k= (if (pair? rest) (car rest) equal?)))