自己反映計算 (計算機科学)
直接法とは、言語 L のインタプリタを言語 L で記述する メタサーキュラー (meta-circular) と呼ばれる言語の実装方法を応用するもので、言語 L のデータオブジェクトとして言語 L 自身を構成することで実現される。
このとき、データオブジェクトとしての言語 L は対象レベル、データオブジェクトを記述している言語 L はその対象レベルに対するメタレベルと見立てられる。
このデータオブジェクトである言語 L に環境 (environment) と継続 (continuation) を渡すことで因果結合が成され、メタレベルの情報を反映したデータオブジェクトとなる。一般的には、インタプリタの状態はその時点における環境およびその時点以降のプログラム(継続)によって決定される。自己反映計算は、この情報反映されたデータオブジェクトについての情報取得および操作を行うことで実現される。
なお、この対象とメタレベルの見立てはデータオブジェクトとしての言語 L 内部でも同様に実行することができ、この見立てを無限に繰り返した言語 L の無限の階層はリフレクティブタワー (reflective tower) と呼ばれる。