8 lines
231 B
Scheme
8 lines
231 B
Scheme
#lang sicp
|
|
|
|
(define (make-rat n d)
|
|
(let ((g (gcd n d)))
|
|
(cond ((= d 0)
|
|
(error "Cannot make-rat with denominator 0"))
|
|
((< d 0) (cons (- (/ n g)) (- (/ d g))))
|
|
(else (cons (/ n g) (/ d g))))))
|