Exercise 2.79. Define a generic equality predicate equ? that tests the equality of two numbers, and install it in the generic arithmetic package. This operation should work for ordinary numbers, rational numbers, and complex numbers. ———————————————————————————————————————————————————————————————————————— (define (complex-eq? x y) (and (= (real-part x) (real-part y)) (= (imag-part x) (imag-part y)))) (define (rat-eq? x y) (and (= (numer x) (numer y)) -- I assume these are normalized (= (denom x) (denom y)))) (put 'equ? '(complex complex) complex-eq?) (put 'equ? '(rational rational) rational-eq?) (put 'equ? '(scheme-number scheme-number) =)