SICP-Sqrt

The contrast between function and procedure is a reflection of the general distinction between describing properties of things and describing how to do things, or, as it is sometimes referred to, the distinction between declarative knowledge and imperative knowledge. In mathematics we are usually concerned with declarative(what is) descriptions whereas in computer science we are usually concerned with imperative(how to) descriptions.

; square 
(define (square x) (* x x))

; abs
(define (abs x) 
    (if ((< 0 x) (- x))
        (else x)))