SICP演習問題4.22
やっと4.1の終わりが見えてきた.
analyze付きがなかなか実行できずはまった.
原因はscan-ouf-defines用にmake-procedureを変えていたのを忘れていて,そのままanalyze付きの評価器を実行しようとしたため.
今日はもうお終い.
解答は
[(let? exp) (analyze (let->combination exp))]
をanalyzeに追加するだけ.
let->combinationでletはlambda式に変換されるので,変換後の式を再びanalyzeに渡してやればよい.
したがって,名前つきlet, let*もそのまま使える.