問題3-9〜11

「3.2 評価の環境モデル」の節では、手続きがどのように評価されていくのかということについての新しい見方が提示されています。2〜3日かけて何度もじっくり読んでみました。置換えモデルは、カッコの中身を展開していって、元の手続きへ収束していくようなイメージで、数学の式展開みたいな感じだったので、実際にはどのように動いているのだろうかということをつかむことはできませんでしたが、この環境モデルでは、コンピュータの中の動きをより鮮明にイメージすることができます。後続の章ではもっと詳しく説明されるということなので、それを楽しみにしながら、先へ進んでいきたいと思っています。
この節の問題は、いずれも環境モデルの図を書かせる問題だったので、実際に紙に書いてみました。問題3-10が若干自信のない答えになってしまいましたが、make-withdrawを評価する時にできるinitial-amountが引数の値に束縛されている環境がまず最初にできて、その環境で評価される

((lambda (balance) (--body=lambda式--)) initial-amount)

によって、新たにbalanceが束縛されている環境ができ、その環境は、最初の環境を指し示しつつ、balanceの値にinitial-amountに束縛され、ここを基点として、本来のwithdraw手続き(--body=lambda式--)の評価が行なわれる、ということなのだろうと考察しました。
やはり、図を文章化するのは難しいです。