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