SICP Exercise 1.6
lisp uses Applicative Order Evaluation
. The procedure new-if
is a procedure. When it’s called all the arguments are executed.
A later augument is recursion, calling the new-if
again which causes an infinite loop.
(define (sqrt-iter guess x)
(new-if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))