SICP 1.1 The Elements of Programming
Decided to finally try and go through this book. Will try to keep journal with notes here.
Interpreter recommended for it - MIT Scheme, could be installed in Ubuntu by installing package
scheme command starts interpreter,
scheme --load sqr.scm loads & evaluates file
And here is my own implementation for finding the square root:
(define (abs x) (if (< x 0) (- 0 x) x )) (define (~= x y) (< (abs (- x y)) 0.0001)) (define (sqr x) (* x x)) (define (avg a b) (/ (+ a b) 2)) (define (sqrt x) (define (sqrt-iter guess) (if (~= (sqr guess) x) guess (sqrt-iter (avg guess (/ x guess))))) (sqrt-iter 1.0))