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