vieweditattachhistoryswikistopchangessearchhelp

call/cc

call with current continuation の略。継続

Report on the Algorithmic Language Scheme制御機能 call-with-current-continuation proc の項より引用。
たいていのプログラミング言語は exit や return, 果ては goto のような名前の専用の脱出コンストラクトを 一つ以上採り入れている。 しかし,1965 年 Peter Landin [LANDIN65] は J 演算子という 汎用の脱出演算子を発明した。 John Reynolds [REYNOLDS72] はより単純だが同等に強力なコンストラクト を 1972 年に記述した。 Sussman と Steele によって 1975 年版 Scheme 報告書に 記述された catch 特殊形式は,Reynolds のコンストラクトと正確に 同じであるが, ただしその名前は MacLisp の中のある汎用性の低いコンストラクトに由来している。 何人かの Scheme 実装者は,catch コンストラクトの完全な強力さを, 特別な構文のコンストラクトによるかわりに,手続きによって用意できることに 気付き,名前 call-with-current-continuation が 1982 年に新造された。 この名前は説明的だが,このような長い名前のメリットについては意見の 相違があり,一部の人々は call/cc という名前をかわりに使っている。
--sumim

上のリンクはR4RSですが、既にR5RSのがあるようです。--CUE





ruby-list What is callcc? スレ --sumim

foldocでの説明。へぇ、ずいぶん新しいんだ…。--CUE

これ、分りやすい。--CUE

このページを編集 (1740 bytes)


Congratulations! 以下の 3 ページから参照されています。

This page has been visited 4385 times.