2 (:use [clojure.contrib test-is]
7 ;; older iterative implementation
8 (defn- repeated-i [f1 f2 m]
11 :else (repeated-i f1 (compose f2 f1) (- m 1))))
13 (defn repeated-iterative [f n]
14 (repeated-i f (compose f f) (- n 1)))
19 (compose f (repeated f (- n 1)))))
21 (deftest test-repeated-square-twotimes-of-5
22 (is (= ((repeated square 2) 5)
25 (deftest test-repeated-square-twotimes-of-2
26 (is (= ((repeated square 2) 2)
29 (deftest test-repeated-inc-of-2-by-5
30 (is (= ((repeated inc 5) 2) 7)))