Fix identifier issues in fold-left/fold-right.

This commit is contained in:
Sam Tobin-Hochstadt 2008-06-18 17:36:12 -04:00
parent b5bfb18961
commit 8a66c759dc

View File

@ -2,18 +2,18 @@
(: fold-left (All (c a b ...) ((c a b ... b -> c) c (Listof a) (Listof b) ... b -> c)))
(define (fold-left f c as . bss)
(if (or (null? a)
(if (or (null? as)
(ormap null? bss))
c
(apply fold-left f
(apply f c (car as) (map car bss))
(cdr as) (map cdr bs))))
(cdr as) (map cdr bss))))
(: fold-right (All (c a b ...) ((c a b ... b -> c) c (Listof a) (Listof b) ... b -> c)))
(define (fold-right f c as . bss)
(if (or (null? a)
(if (or (null? as)
(ormap null? bss))
c
(apply f
(apply fold-left f c (cdr as) (map cdr bs))
(apply fold-left f c (cdr as) (map cdr bss))
(car as) (map car bss))))