2015/10/31
SICP 問題 2.80
(define (=zero? x) (apply-generic '=zero? x y))
;; scheme-numberパッケージに追加
(put '=zero? '(scheme-number)
(lambda (x) (= x 0)))
;; rationalパッケージに追加
(put '=zero? '(rational)
(lambda (x) (= (numer x) 0)))
;; complexパッケージに追加
(put '=zero? '(complex)
(lambda (x) (and (= 0 (real-part x))
(= 0 (imag-part x)))))