3.2 評価の環境モデル

環境とは

  • フレーム (frame) が並んだもの

フレームとは

  • 変数の名前 + 対応する値を結び付ける束縛 (binding)のセット
  • 1つのフレームは任意の変数に対して 0or1 の束縛をもつ
  • 外側の環境へのポインタを持つ
    • ただしglobalは、外側の環境へのポインタを持たない

環境とフレーム

  • 変数の値とは、環境の中でその変数に対する束縛を含む最初のフレームの中で、与えられる値
  • フレームの列の中にその変数の束縛を規定しているものがなければ変数はその環境においてその未束縛

f:id:cocodrips:20170925230652p:plain

  • I, II, III => フレーム
    • x, yが I のフレームに束縛されている
    • x, zが II のフレームに束縛されている
    • m, yが III のフレームに束縛されている
  • A, B, C, D => 環境へのポインタ
    • 環境Bにおいて m=1, y=2, x=3
    • 環境Aにおいて x=7, z = 6, y=5
    • 環境Aにおいて、フレームII のx = 7 が、フレームIのx = 3の束縛を隠蔽している