Код Ревью
Сравни свои решения
#| BEGIN (Введите свое решение) |#
(define (negative? a) (< a 0))
(define (abs a)
(if (< a 0) (- a) a))
(define (gcd a b)
(if (= b 0)
a
(gcd b (remainder a b))))
(define (make-rat n d)
(let ((g (gcd n d))
(isNegative (negative? (/ n d))))
(cons (if isNegative
(- (abs (/ n g)))
(abs (/ n g)))
(abs (/ d g)))))
#| END |#