]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex3_37.rkt
Solution to 4.44. A bit too verbose. Can be improved by better
[sicp.git] / src / sicp / ex3_37.rkt
1 #lang racket
2
3 (define (celsius-fahrenheit-converter x)
4   (c+ (c* (c/ (cv 9) (cv 5))
5           x)
6       (cv 32)))
7 (define C (make-connector))
8 (define F (celsius-fahrenheit-converter C))
9
10 (define (c+ a b)
11   (let ((c (make-connector)))
12     (adder a b c)
13     c))
14
15 (define (c* x y)
16   (let ((z (make-connector)))
17     (multiplier x y z)
18     z))
19
20 (define (cv v)
21   (let ((z (make-connector)))
22     (constant z v)
23     z))