サンクとは何か?
サンクは中断された作業の断片であり、通常は引数のない関数やクロージャで、後で計算される式を捕捉します。サンクを強制すると計算が実行されてその値が得られ、多くの実装ではその結果をmemoizationして一度だけ計算されるようにします。サンクは遅延評価を可能にする構成要素です。
なぜ重要か
計算をサンクに包むことで、プログラムはそれを実行するかどうか、いつ実行するかを後で決められます。同じ考え方は、遅延初期化や、評価されていない引数の受け渡しにも現れます。
関連ガイド
What Is Lazy Evaluation?Lazy evaluation delays computing an expression until its value is actually needed, and may skip it entirely i…
What Is Memoization?Memoization caches the result of a function for a given set of inputs so repeated calls with the same argumen…
What Is a Continuation?A continuation represents the rest of a computation at a given point, as a value that can be invoked later to…