SICP 読み (301) 5.4 積極制御評価器
体調不良にて早退。問題 5.30 の a.については動作確認だけなのでとりあえずヤってみます。
問題 5.30 の a.
盛り込み始めて判明したんですが、(300) なエントリのコードは括弧が省略されているものがあるな。(とほほほ
ch5-eceval.scm な修正で branche ってヤってるトコもあった。で動作確認したら set! は変数が define されてなくてもエラーにならん。
なぜだ、って val にセットしてないじゃん。
(perform (op set-variable-value!) (reg unev) (reg val) (reg env))
面倒なので assign にしちゃえ
(assign val (op set-variable-value!) (reg unev) (reg val) (reg env))
これで unbound variable な関係は確認 OK で良いのかなぁ。簡単な確認ベースでは extend-environment な関係については問題ない模様。もし元気が持続すれば、問題 5.30 の b.についても (以下略