Add some background knowledge to the recursion section.

This commit is contained in:
Colin Jones
2010-11-07 10:17:58 -06:00
parent cf4162ece6
commit 345df3d6d0
2 changed files with 24 additions and 4 deletions

View File

@@ -1,7 +1,25 @@
(defn is-even? [n]
(if (= n 0) __
(___ (is-even? (dec n)))))
(defn is-even-bigint? [n]
(loop [n n acc true]
(if (= n 0) __
(recur (dec n) (not acc)))))
(defn factorial [n]
__)
(meditations
"Recursion ends with a base case"
(= true (is-even? 0))
"And starts by moving toward that base case"
(= false (is-even? 1))
"Having too many stack frames requires explicit tail calls with recur"
(= false (is-even-bigint? 100003N))
"Simple things may appear simple."
(= 1 (factorial 1))