;; $Id: grav-force.scm,v 1.6 2002/04/09 22:25:24 leavens Exp $ ;;; AUTHOR: Gary T. Leavens ;; GRAVITATIONAL FORCE EXAMPLE (define G ;; UNITS: N * m^2 / kg^2 6.670e-11) (define square ;; UNITS: (-> (m) m^2) (lambda (r) (* r r))) (define grav-force ;; UNITS: (-> (kg m kg) N) (lambda (m1 r m2) (if (zero? r) 0.0 (/ (* G (* m1 m2)) (square r))))) (define grav-force-c ;; UNITS: (-> (kg) ;; (-> (m) ;; (-> (kg) ;; N))) (lambda (m1) ; kg (lambda (r) ; m (lambda (m2) ; kg (if (zero? r) 0.0 (/ (* G (* m1 m2)) (square r))))))) ;; USING IT (define mass-of-earth ;; UNITS: kg 5.96e24) (define radius-of-earth ;; UNITS: m 6.37e6) (define earths-force ;; UNITS: (-> (m) (-> (kg) N)) (grav-force-c mass-of-earth)) (define force-at-surface ;; UNITS: (-> (kg) N) (earths-force radius-of-earth))