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.