問題 2.36
(define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) (define (accumulate-n op init seqs) (if (null? (car seqs)) null (cons (accumulate op init (map (lambda (l) (car l)) seqs)) (accumulate-n op init (map (lambda (l) (cdr l)) seqs))))) (define s (list (list 1 2 3) (list 4 5 6) (list 7 8 9) (list 10 11 12))) (accumulate-n + 0 s) ;-> (22 26 30) ;okこれはなかなか面白い。