]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex2_21.clj
Solution to 4.30. Extremely enlightening!
[sicp.git] / src / sicp / ex2_21.clj
1 (ns sicp.ex2_21
2   (:use [clojure test]
3         [sicp [utils :only (square)]]))
4
5 (defn square-list-1 [items]
6   (if (empty? items)
7     nil
8     (cons (square (first items))
9           (square-list-1 (rest items)))))
10
11 (deftest test-square-list-1
12   (is (= (square-list-1 (list 1 2 3 4)) (list 1 4 9 16))))
13
14 (defn square-list-2 [items]
15   (map (fn [x] (square x)) items))
16
17 (deftest test-square-list-2
18   (is (= (square-list-2 (list 1 2 3 4)) (list 1 4 9 16))))