-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= an example code for Lisp (scheme) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= klim@moose> cat sqrt.scm (define (square x) (* x x)) (define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x))) (define (improve guess x) (average guess (/ x guess))) (define (average x y) (/ (+ x y) 2)) (define (good-enough? guess x) (< (abs (- (square guess) x)) 0.001)) klim@moose> scheme48 Welcome to Scheme 48 1.2 (made by klim on Fri Sep 14 19:06:40 CST 2007) Copyright (c) 1993-2004 by Richard Kelsey and Jonathan Rees. Please report bugs to scheme-48-bugs@s48.org. Get more information at http://www.s48.org/. Type ,? (comma question-mark) for help. > ,load "sqrt.scm" > (+ 1 2 3) 6 > (* 2 5 9) 90 > (/ 9 3) 3 > (square 4) 16 > (sqrt 4) 2.0 > (sqrt (square 12.4)) 12.4 > (sqrt (square 12.111111)) 12.111111 > (sqrt (square 3.141592653)) 3.141592653 > Exit Scheme 48 (y/n)? y klim@moose>