Scheme
LISP
族言語の一つ
言語仕様がとても小さい
仕様書があるので実装がたくさんある
継続
という変わった言語要素を持っている
実行している状態を保存することでいつでもそこに飛べる
コールスタックを丸ごと保存しており、継続を呼び出すと該当の場所で関数が呼ばれて戻ってきたかのように振る舞う
Cにも
longjmp
という機能があるが同じような物
SchemeはGCを前提にしておりあちらよりも強力
longjmpは大域脱出にしか使えないが継続は何度でもどこからでも使える
ファイル等の処理中に飛んだ場合のために
dynamic-wind
という機構も仕様に定められている
伝統的なLispとは違い
Lexical Scope
を持つ