1.46|

$ cd ~

SICP Exercise 1.46

(define (iterative-improve good-enough? improve)
  (lambda (x)
    (define (iter n)
      (if (good-enough? n)
          n
          (iter (improve n))))
    (iter x)))

(define (good-enough? x y)
  (< (abs (- x y) 0.0001)))

(define (sqrt x)
  ((iterative-improve
    (lambda (y)
      (< (abs (- (square y) x))
         0.0001))
      (lambda (y)
        (average y (/ x y))))
   1.0))