==> (define (integral f a b dx) (define (add-dx x) (+ x dx)) (* (sum f (+ a (/ dx 2)) add-dx b) dx)) INTEGRAL ==> (integral cube 0 1 0.1) 0.24875008 ==> (integral cube 0 1 0.01) 0.24998708 ==> pi 3.141592653589793d0 ==> (sin pi) 1.2246063538223773d-16integralは,cubeやsquareという名前を付けない一般的な関数も使えるため非 常に汎用です.
==> (integral (lambda (x) x) 0 10 1) 50 ==> (integral (lambda (x) x) 0 10 0.1) 49.99998 ==> (integral (lambda (x) (* 2 x)) 0 10 1) 100