継続とは何か?
継続は、ある特定の地点からプログラムが次に行うことを具体化した形であり、計算を前へ進めるために呼び出せるよう捕捉されます。継続渡しスタイル(continuation-passing style)では、関数は通常どおりリターンする代わりに、継続を引数として受け取り、その結果とともにそれを呼び出します。継続は、generator、coroutine、非同期の再開といった高度な制御フローを支えます。
なぜ重要か
計算の残りを値として扱うことで、早期脱出から作業の一時停止と再開まで、非線形な制御フローを表現できます。これは、async、generator、そして例外のような制御の背後にある理論的基盤です。
関連ガイド
What Is a Generator?A generator is a function that can pause and resume, producing a sequence of values one at a time on demand r…
What Is Trampolining?Trampolining is a technique that runs recursive calls as a loop by returning the next step instead of calling…
What Is a Thunk?A thunk is a deferred computation wrapped as a value, evaluated only when forced, often used to implement laz…