(package foo [(intern "howdy")] X foo hello howdy 5 "xyz" cons) (package my-maths-stuff [] (define sqrt N -> (let Guess (/ N 2.0) (run-newtons-method N (average Guess (/ N Guess)) Guess))) (define run-newtons-method _ Better_Guess Guess -> Better_Guess where (close-enough? Better_Guess Guess) N Better_Guess _ -> (run-newtons-method N (average Better_Guess (/ N Better_Guess)) Better_Guess)) (define average M N -> (/ (+ M N) 2.0)) (define close-enough? Better_Guess Guess -> (< (abs (- Better_Guess Guess)) .001)) (define abs N -> (if (> 0 N) (- 0 N) N)) ) (package my-maths-stuff [sqrt average abs] (define sqrt N -> (let Guess (/ N 2.0) (run-newtons-method N (average Guess (/ N Guess)) Guess))) (define run-newtons-method _ Better_Guess Guess -> Better_Guess where (close-enough? Better_Guess Guess) N Better_Guess _ -> (run-newtons-method N (average Better_Guess (/ N Better_Guess)) Better_Guess)) (define average M N -> (/ (+ M N) 2.0)) (define close-enough? Better_Guess Guess -> (< (abs (- Better_Guess Guess)) .001)) (define abs N -> (if (> 0 N) (- 0 N) N)) )