SICP 問題 3.60
(define (stream-head s n) (let iter ((s s) (n n)) (if (zero? n) 'done (begin (display (stream-car s)) (display " ") (iter (stream-cdr s) (- n 1)))))) (define (mul-series s1 s2) (cons-stream (* (stream-car s1) (stream-car s2)) (add-streams (scale-stream (stream-cdr s2) (stream-car s1)) (mul-series (stream-cdr s1) s2)))) (define circles (add-streams (mul-series sine-series sine-series) (mul-series cosine-series cosine-series)))
gosh> (stream-head circles 10) 1 0 0 0 0 0 0 0 0 0 done