2017-10-01から1ヶ月間の記事一覧

SICPゼミ第55回

練習問題4.30 a . (for-each (lambda (x) (newline) (display x)) (list 57 321 88)) を呼ぶ。 問題になっているのは eval-sequence に食われる begin 節、すなわち (define (for-each proc items) (if (null? items) 'done (begin (proc (car items )) (for…

SICPゼミ第54回

練習問題4.28 演算子がevalの中で評価されない(遅延されてしまう)場合,すなわち複合手続きが引数として呼ばれた場合,演算子を評価しないままthunkがそのまま返ってきてしまう事がある. 例えば (define (g x) (+ x 1)) (define (f g x) (g x)) とした場合…

SICPゼミ第53回

練習問題4.27 外側の id については application なので評価がされており (引数の (id 10) については評価されずに残っている)、すなわち w の定義時点で count は一度だけインクリメントされていることになる。 答えは 1, 10, 2 となる。