理系学生日記

おまえはいつまで学生気分なのか

問題3-55 (3.5.2 Infinite Streams)

今回は,与えられた無限ストリームの部分和を持った無限ストリームを返す関数 partial-sums を作成します.渡された無限ストリームが S=\{s_i\} だったとき, 返す無限ストリーム  A=\{a_i} の要素 a_n a_n = \sum_{i=1}^n s_i ということになります.

(define (partial-sums S)
  (stream-cons (stream-car S)
               (stream-map +
                           (partial-sums S)
                           (stream-cdr S))))