Code Review
Compare your solutions
#| BEGIN (Write your solution here) |#
(define (update-scheme-number-package)
(put 'equ? '(scheme-number scheme-number) =)
'done)
(define (update-rational-package)
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (equ? x y)
(and (= (numer x) (numer y))
(= (denom x) (denom y))))
(put 'equ? '(rational rational) equ?)
'done)
(define (update-complex-package)
(define (equ? z1 z2)
(and (= (real-part z1) (real-part z2))
(= (imag-part z1) (imag-part z2))))
(put 'equ? '(complex complex) equ?)
'done)
(define (equ? x y) (apply-generic 'equ? x y))
#| END |#
#| BEGIN (Write your solution here) |#
(define (update-scheme-number-package)
(put 'equ? '(scheme-number scheme-number) =)
'done)
(define (update-rational-package)
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (equ? x y)
(and (= (numer x) (numer y))
(= (denom x) (denom y))))
(put 'equ? '(rational rational) equ?)
'done)
(define (update-complex-package)
(define (equ? z1 z2)
(and (= (real-part z1) (real-part z2))
(= (imag-part z1) (imag-part z2))))
(put 'equ? '(complex complex) equ?)
'done)
(define (equ? x y) (apply-generic 'equ? x y))
#| END |#
#| BEGIN (Write your solution here) |#
(define (update-scheme-number-package)
(put 'equ? '(scheme-number scheme-number) =)
'done)
(define (update-rational-package)
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (equ? x y)
(and (= (numer x) (numer y))
(= (denom x) (denom y))))
(put 'equ? '(rational rational) equ?)
'done)
(define (update-complex-package)
(define (equ? z1 z2)
(and (= (real-part z1) (real-part z2))
(= (imag-part z1) (imag-part z2))))
(put 'equ? '(complex complex) equ?)
'done)
(define (equ? x y) (apply-generic 'equ? x y))
#| END |#
#| BEGIN (Write your solution here) |#
(define (update-scheme-number-package)
(put 'equ? '(scheme-number scheme-number) =)
'done)
(define (update-rational-package)
(define (numer x) (car x))
(define (denom x) (cdr x))
(define (equ? x y)
(and (= (numer x) (numer y))
(= (denom x) (denom y))))
(put 'equ? '(rational rational) equ?)
'done)
(define (update-complex-package)
(define (equ? z1 z2)
(and (= (real-part z1) (real-part z2))
(= (imag-part z1) (imag-part z2))))
(put 'equ? '(complex complex) equ?)
'done)
(define (equ? x y) (apply-generic 'equ? x y))
#| END |#