Closure Conversion とは?
closure conversion は、周囲のスコープから変数を捕捉する関数を、捕捉した値を保持する明示的なデータ構造と対にしたトップレベル関数へと書き換えるコンパイル工程です。捕捉された変数の使用は、その環境レコードへの参照になります。これにより closure を、ランタイムが管理できる通常のコードとデータとして表現できます。
なぜ重要か
closure conversion は、変数を捕捉する高階のコードを、マシンが直接実行できる形へと下げる方法です。closure の実行時コストが、環境の割り当てと間接アクセスであることを明確にします。
関連ガイド
What Is a Higher-Order Function?A higher-order function takes other functions as arguments or returns a function as its result, treating beha…
What Is Partial Application?Partial application fixes some of a function arguments in advance to produce a new, more specialized function…
What Is Defunctionalization?Defunctionalization replaces first-class functions with data tags dispatched by a single apply function, remo…