In clojure v1.6.0, this code runs forever and consumes 100% of one core:
(defn average [xy] (/ (+ xy) 2)) (defn improve [guess x] (average guess (/ x guess))) (defn sqrt-iter [guess x] (sqrt-iter (improve guess x) x)) (sqrt-iter 1 4)
I expect it to throw a StackOverflowError
right away, but that is not the case.
Any explanation why this is happening?
source share