| C++ | LISP (LISP だけじゃないけれど) |
|---|---|
| テンプレート定義 | 引数として関数を受ける関数の定義 |
| テンプレート定義内の依存名 | 関数内の自由変数名 |
| 依存名が実際に指しているもの | 自由変数が実際に指しているもの |
| 型 | 関数 |
| テンプレートの Point of Definition | 関数が実際に評価される場所 |
| テンプレートの Point of Instantiation | 関数引数を高階関数で束縛した場所 |
というアナロジーをでっち上げたとき, C++ の two-phase name lookup が取り扱っているのってよ〜するに LISP とかでいうところの環境問題 (downward funarg problem) ?