]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex3_59.rkt
Solution to 4.44. A bit too verbose. Can be improved by better
[sicp.git] / src / sicp / ex3_59.rkt
1 #lang racket
2
3 ;; part a
4 (define (integrate-series stream)
5   (define (integrate-iter S I)
6     (stream-map (lambda (s i)
7                   (* s (/ 1 i)))
8                 S
9                 I))
10   (integrate-iter stream
11                   (integers-starting-from 1)))
12
13 ;; part b
14 (define sine-series
15   (cons-stream 0 (integrate-series cosine-series)))
16
17 (define cosine-series
18     (cons-stream 1 (scale-stream (integrate-series sine-series) -1)))
19
20
21