継続と継続渡しスタイル 今回は「継続 (continuation)」と「継続渡しスタイル (Continuation Passing Style : CPS)」という手法について説明します。Scheme には継続という他の言語 [*1] にはない強力な機能がありますが、使いこなすのはちょっと難しいといわれています。CPS はクロージャを使った汎用的な方法で、クロージャがあるプログラミング言語であれば、CPS でプログラムを作成することができます。CPS も慣れるまでちょっと苦労しますが、継続よりはわかりやすいと思います。そのあとで、Scheme の継続について説明します。 ●継続とは? 最初に継続について簡単に説明します。継続は「次に行われる計算」のことです。たとえば、次のプログラムを例に考えてみましょう。 リスト : 逐次実行 (define (foo) (display "foo"))