fix lazy take bug -- invariant being tested on unforced argument
This commit is contained in:
parent
bc5ab1e031
commit
808361b789
|
@ -576,8 +576,8 @@
|
||||||
|
|
||||||
(define* (take n l)
|
(define* (take n l)
|
||||||
(let ([n0 (! n)])
|
(let ([n0 (! n)])
|
||||||
(unless (exact-nonnegative-integer? n)
|
(unless (exact-nonnegative-integer? n0)
|
||||||
(raise-type-error 'take "non-negative exact integer" 0 n l))
|
(raise-type-error 'take "non-negative exact integer" 0 n0 l))
|
||||||
(let loop ([n n0] [l l])
|
(let loop ([n n0] [l l])
|
||||||
(if (zero? n)
|
(if (zero? n)
|
||||||
'()
|
'()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user