(wat-aro)

生きてます

SICP 問題 3.63

(define (sqrt-stream x)
  (define guesses
    (cons-stream 1.0
                 (stream-map (lambda (guess)
                               (sqrt-improve guess x))
                             guesses)))
  guesses)

(define (sqrt-stream x)
  (cons-stream 1.0
               (stream-map (lambda (guess)
                             (sqrt-improve guess x))
                           (sqrt-stream x))))

後者は毎回ストリームを作る. 前者はメモ化されているので一度作られたストリームを使い回す.

メモライズをやめると両者の効率は同じになる.