Код Ревью

Сравни свои решения

    #| 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 |#