Chapter 1, Building Abstractions with Procedures
Section - The Elements of Programming
Exercise 1.6
1
2
3
4
5
(define (sqrt-iter guess x)
(new-if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
If the interpreter evaluates the function call new-if
in applicative order then this function is doomed for infinite recursive calls.
On the other hand if it is normal order evaluation then it will work as expected.