Wednesday, December 18, 2019

SICP in Clojure: Chapter 1, Exercise 30

This is my Clojure solution to Chapter 1, Exercise 30:

(ns sicp.ch1.ex30)

(defn sum-iter
  [term a succ b]
  (letfn [(sum-iter-step
            [a result]
            (if (> a b)
              result
              (sum-iter-step (succ a) (+ result (term a)))))]
    (sum-iter-step a 0)))

(sum-iter identity 0 inc 10) ; => 55

No comments: