12 lines
259 B
Racket
12 lines
259 B
Racket
#lang typed-scheme
|
|
|
|
(: fold-left (All (a b ...) ((a b ... -> a) a (Listof b) ... -> a)))
|
|
(define (fold-left f a . bss)
|
|
(if (ormap null? bss)
|
|
a
|
|
(apply fold-left
|
|
f
|
|
(apply f a (map car bss))
|
|
(map cdr bss))))
|
|
|