2.3.3 節で empty-env と extend-env が environment という abstract syntax で抽象化されてしまいます。これは凄い。実際に評価されるのは apply-env の時点、という事になってしまいました。こうなれば、と思ってたところだったので笑いました。
で、こうした事で中身の検査ができるようになってます。練習問題はその実装をせよ、という設問になっております。
とりあえず例示してるソレを使って試験を書いておくことに。
{% gist 7449306 %}
あと、apply-env で list-find-position とか呼び出してますがスルーで。以下で上記試験にはパスしてます。
{% gist 7449331 %}
ここで procedural expression から abstract syntax tree な変換の方法について列挙されてます。別途整理の方向にて。