問題4.72、問題4.73 – SICP(計算機プログラムの構造と解釈)その244

問題4.72

ストリームの最初の要素が無限ストリームの場合、2番目のストリームの要素がいつまでたっても呼び出されなくなる。

問題4.73

これは、問題4.71 と同様の理由か?

;; 元の評価機の flatten-stream 手続き
(define (flatten-stream stream)
  (if (stream-null? stream)
      the-empty-stream
      (interleave-delayed
        (stream-car stream)
        (delay (flatten-stream (stream-cdr stream))))))

;; delay を使用しない flatten-stream 手続き
(define (flatten-stream stream)
  (if (stream-null? stream)
      the-empty-stream
      (interleave
        (stream-car stream)
        (flatten-stream (stream-cdr stream)))))
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»