generated at
継続
continuation
処理全体を時間軸で見た時に、ある点における継続とは、「その点以降の処理のこと」
以降の処理を全て行う関数、みたいなもの
この関数contに、最低限の引数を与えて、以降の処理を呼ぶ
雑に「末尾呼び出しコールバック関数」と言えそう


R5RSでの定義
>Whenever a Scheme expression is evaluated there is a continuation wanting the result of the expression. The continuation represents an entire (default) future for the computation. ref
Schemeの式が評価される時、そこには評価の結果を待つ継続が一つ待機している。継続は計算の(デフォルトの)未来全体を表している。



処理全体を時間軸で見た時に、ある点における継続とは、「その点以降の処理のこと」
関数呼び出しで説明されることが多いが、別にそれに限らない



こういう手続き foo , bar , f を定義する
lisp
; foo, barと出力する手続きを定義 (define (foo) (print "foo")) (define (bar) (print "bar")) ; 「foo手続きを呼び、その後bar手続きを呼ぶ」をする手続きfを定義 (define (f) (foo) (bar)) ; ① (f)
result
foo bar #<undef>
①の部分の foo にとっての継続は、 bar の呼び出し、とそれ以降の処理
①の部分の bar にとっての継続は、 f の呼び出しから元に戻るという操作、とそれ以降の処理











参考