This is my Clojure solution to Chapter 1, Exercise 9:
(ns sicp.ch1.ex09)
(defn add-1
[a b]
(if (zero? a)
b
(inc (add-1 (dec a) b))))
(defn add-2
[a b]
(if (zero? a)
b
(add-2 (dec a) (inc b))))
(add-1 5 10) ; => 15 -- a recursive process
(add-2 5 10) ; => 15 -- an iterative process
(ns sicp.ch1.ex09)
(defn add-1
[a b]
(if (zero? a)
b
(inc (add-1 (dec a) b))))
(defn add-2
[a b]
(if (zero? a)
b
(add-2 (dec a) (inc b))))
(add-1 5 10) ; => 15 -- a recursive process
(add-2 5 10) ; => 15 -- an iterative process