範囲を表現するデータ型の引き算を定義しろとかぬかしやがるので、がんばりました。
(define (sub-interval x y) (let ((lower (- (lower-bound x) (upper-bound y))) (upper (- (upper-bound x) (lower-bound y)))) (make-interval lower upper)))
引き算実行中。
gosh> (define regA (make-interval 3 5)) regA gosh> (define regB (make-interval 4 6)) regB gosh> (sub-interval regA regB) (-3 . 1)