Schemeとかを勉強していると、よく登場する概念に”継続”というものがあります。この記事では、継続とは何か?を平易に説明し、継続への導入あるいは入門を目指すことを目的とします。 継続とは何か? wikipediaには次のように定義されています。 継続とは、プログラムの実行においてある時点において評価されていない残りのプログラムを意味するものであり、手続きとして表現されるものである。 具体的にどういうことなのか、説明して行きます。 今回はGaucheを使っています。 まずはListの生成を考えます。 gosh> (list (+ 1 2) (+ 3 5) (+ 7 11)) ; (list 3 8 18) (3 8 18) このときSchemeでは、左から順に引数を評価してから手続きの評価に入ります(ちょうど上記のコメントのように)。 例えば,(+ 3 5)を評価するときは、『3と(+ 3