From 80daf2d6ef4b3afaf444fcd5a145b0d20c73c1a2 Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan Date: Tue, 3 Aug 2010 19:45:18 +0530 Subject: [PATCH] solution to 2.36 --- src/sicp/ex2_36.clj | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/sicp/ex2_36.clj diff --git a/src/sicp/ex2_36.clj b/src/sicp/ex2_36.clj new file mode 100644 index 0000000..acd7124 --- /dev/null +++ b/src/sicp/ex2_36.clj @@ -0,0 +1,19 @@ +(ns sicp.ex2_36 + (:use [clojure.test] + [sicp [ch2-2 :only (accumulate)]])) + +;; (define (accumulate-n op init seqs) +;; (if (null? (car seqs)) +;; nil +;; (cons (accumulate op init ) +;; (accumulate-n op init )))) +(defn accumulate-n [op init seqs] + (if (nil? (first seqs)) + nil + (cons (accumulate op init (map first seqs)) + (accumulate-n op init (map next seqs))))) + +(deftest test-accumulate-n + (let [s (list (list 1 2 3) (list 4 5 6) (list 7 8 9) (list 10 11 12))] + (is [= (accumulate-n + 0 s) + (list 22 26 30)]))) \ No newline at end of file -- 2.45.2