1.6|

$ cd ~

SICP Exercise 1.6

Scheme 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)))