original commit: 5dd46a3ae88b76f222635d5e92f18fc3ba981625
This commit is contained in:
Matthew Flatt 2002-01-13 19:34:49 +00:00
parent 54cd3da8a4
commit 6695ee87f5

View File

@ -251,6 +251,8 @@
(if print-vec-length? (if print-vec-length?
(lambda (v) (lambda (v)
(let ([len (vector-length v)]) (let ([len (vector-length v)])
(if (zero? len)
null
(let ([last (vector-ref v (sub1 len))]) (let ([last (vector-ref v (sub1 len))])
(let loop ([i (- len 2)]) (let loop ([i (- len 2)])
(if (i . < . 0) (if (i . < . 0)
@ -261,7 +263,7 @@
(let loop ([i (sub1 i)][r (list e last)]) (let loop ([i (sub1 i)][r (list e last)])
(if (i . < . 0) (if (i . < . 0)
r r
(loop (sub1 i) (cons (vector-ref v i) r))))))))))) (loop (sub1 i) (cons (vector-ref v i) r))))))))))))
vector->list)) vector->list))
(define found-cycle (define found-cycle
@ -279,8 +281,8 @@
[(vector? obj) [(vector? obj)
(let ([len (vector-length obj)]) (let ([len (vector-length obj)])
(let loop ([i 0]) (let loop ([i 0])
(if (if (= i len)
(= i len) #f
(or (vector-ref obj i) (or (vector-ref obj i)
(loop (add1 i))))))] (loop (add1 i))))))]
[(pair? obj) [(pair? obj)
@ -309,12 +311,10 @@
(cond (cond
[(vector? obj) [(vector? obj)
(let ([len (vector-length obj)]) (let ([len (vector-length obj)])
(let loop ([i 0]) (let vloop ([i 0])
(if (unless (= i len)
(= i len)
(begin
(loop (vector-ref obj i)) (loop (vector-ref obj i))
(loop (add1 i))))))] (vloop (add1 i)))))]
[(pair? obj) [(pair? obj)
(loop (car obj)) (loop (car obj))
(loop (cdr obj))] (loop (cdr obj))]