(wat-aro)

生きてます

2016-01-08から1日間の記事一覧

SICP 問題 4.30

並びの中の式は最後まで評価されないのではないかというCy D. Fectの心配に答える. a ;; 元のeval-sequence (define (eval-sequence exps env) (cond ((last-exp? exps) (eval (first-exp exps) env)) (else (eval (first-exp exps) env) (eval-sequence (r…

遅延評価と末尾再帰フィボナッチ

前回のSICP問題4.29で遅延評価する評価器でメモ化しない場合に,する場合と比べてはるかに遅くなるプログラムの例としてフィボナッチを書きました. ただ,あまりに差が大きくてなぜそうなるのかがわからなかったので考えてみました. 評価器は最後に載せて…

SICP 問題 4.29

メモ化しないとはるかに遅くなるプログラムの例として 再帰でフィボナッチ数列の第n項を求める手続きを定義する. (define (fib n) (let iter ((a 0) (b 1) (count n)) (if (= count 0) a (iter b (+ a b) (- count 1))))) ;; メモ化するforce-it (define (f…