returnを関数と思ってみる話

要旨: 「"call/cc" って難しいので、 継続のプリミティブは "return" ということにしよう。特に手続き型言語では」
実際、"first-class return" があれば first-class continuation でできることは全てできます。 Scheme, Ruby 等で継続を取り出すプリミティブである call/cc が

function callcc(f) { return( f(return) ) }

こう実装できるので。

http://www.kmonos.net/wlog/95.html#_1109090307

そうか、returnを評価すると継続が得られるとすれば、callcc(f)は、f(return)と同じか。