SICP問題3.54

mul-streamsの定義

(define (mul-streams s1 s2)
  (stream-map * s1 s2))

0から数えてn番目の要素がn+1の階乗となる定義

(define factorials (cons-stream 1 (mul-streams factorials
                                               (add-streams ones integers))))

テスト

(stream-ref factorials 0)
; 1
(stream-ref factorials 1)
; 2
(stream-ref factorials 2)
; 6
(stream-ref factorials 3)
; 24
(stream-ref factorials 4)
; 120
(stream-ref factorials 5)
; 720

OK