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:
parent
b802470747
commit
aa0745cc05
1 changed files with 4 additions and 3 deletions
|
@ -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?)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue