sicp-ex-3.37



<< Previous exercise (3.36) | Index | Next exercise (3.38) >>


 ;; ex-3.37                                                                                                                                                                                                          
  
 (define (c+ x y) 
   (let ((z (make-connector))) 
     (adder x y z) 
     z)) 
  
 (define (c- x y) 
   (let ((z (make-connector))) 
     (adder z y x) 
     z)) 
  
 (define (c* x y) 
   (let ((z (make-connector))) 
     (multiplier x y z) 
     z)) 
  
 (define (c/ x y) 
   (let ((z (make-connector))) 
     (multiplier z y x) 
     z)) 
  
 (define (cv x) 
   (let ((z (make-connector))) 
     (constant x z) 
     z)) 
  
 (define (celsius-fahrenheit-converter x) 
   (c+ (c* (c/ (cv 9) (cv 5)) 
           x) 
       (cv 32)))