前田です。

At Tue, 27 Jul 1999 11:03:15 +0900,
石塚圭樹 <keiju / Rational.Com> wrote:
> ところで, callcc{|c| ...}で引数にContinuationを渡すというのはRuby的には
> 非常に使いづらい仕様だと思うのですが...

では石塚さんはどういう仕様がよいと思われます?
私はSchemeのcall/ccと同じ表現力を持たせることを考えて今の仕様にし
ました。
# Schemeに比べてわかりにくくなっているということはないと思うのですが。

c = Continuation.new
...
c.call(obj)

というのも考えたのですが、callした時にContinuation.newの返り値が
(Continuationではない)objになったりするのはちょっと変ですよね。
Continuation.newをget_continuationなどという関数風メソッドにして
も、やっぱりContinuationではないものが返り値になるのは気持わるい
ですし...。

たしかにRubyでは大域脱出にcall/ccを使う必要はないので、イテレータ
にしているのはちょっとムダな感じはしますけど、代案が思いつかなかっ
たのでこのようにしました。

-- 
前田 修吾