начал sicp
Код:
(define (try-sqrt guess x)
(if (guess? guess x)
guess
(try-sqrt (improve guess x) x)))
(define (guess? guess x)
(if(< (module (- x guess)) 0.2)
#t #f))
(define (module x)
(if (> x 0)
x
(- x)))
(define(improve guess x)
(/ (+ (/ x guess) guess) 2))
по отдельности improve, guess?, module работают нормально, при вызове try-sqrt видимо происходит зацикливание. в чем ошибка не пойму
=====================================
заметил ошибку, предикат неверный был, забыл guess в квадрат возвести 
Код:
(define (guess? guess x)
(if(< (module (- x (* guess guess))) 0.2)
#t #f))
Социальные закладки