mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Don't recurse in drop-right
* module/srfi/srfi-1.scm (drop-right): Don't recurse, sadly, as we have a stack limit.
This commit is contained in:
parent
e1cb762c9a
commit
af3796b11c
1 changed files with 3 additions and 3 deletions
|
@ -374,10 +374,10 @@ end-of-list checking in contexts where dotted lists are allowed."
|
|||
lag)))
|
||||
|
||||
(define (drop-right lis k)
|
||||
(let recur ((lag lis) (lead (drop lis k)))
|
||||
(let lp ((lag lis) (lead (drop lis k)) (result '()))
|
||||
(if (pair? lead)
|
||||
(cons (car lag) (recur (cdr lag) (cdr lead)))
|
||||
'())))
|
||||
(lp (cdr lag) (cdr lead) (cons (car lag) result))
|
||||
(reverse result))))
|
||||
|
||||
(define (take! lst i)
|
||||
"Linear-update variant of `take'."
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue