solution to 2.21
authorRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Sun, 27 Jun 2010 17:04:29 +0000 (22:34 +0530)
committerRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Sun, 27 Jun 2010 17:04:29 +0000 (22:34 +0530)
src/sicp/ex2_21.clj [new file with mode: 0644]

diff --git a/src/sicp/ex2_21.clj b/src/sicp/ex2_21.clj
new file mode 100644 (file)
index 0000000..cdabdd8
--- /dev/null
@@ -0,0 +1,18 @@
+(ns sicp.ex2_21
+  (:use [clojure test]
+       [sicp [utils :only (square)]]))
+
+(defn square-list-1 [items]
+  (if (empty? items)
+    nil
+    (cons (square (first items))
+         (square-list-1 (rest items)))))
+
+(deftest test-square-list-1
+  (is (= (square-list-1 (list 1 2 3 4)) (list 1 4 9 16))))
+
+(defn square-list-2 [items]
+  (map (fn [x] (square x)) items))
+
+(deftest test-square-list-2
+  (is (= (square-list-2 (list 1 2 3 4)) (list 1 4 9 16))))