From: Yusuke ENDOH Date: 2007-06-15T20:06:53+09:00 Subject: [ruby-dev:31000] Re: Supporting Fiber 遠藤です。 説明下手ですみません。わかってもらえたようでよかったです。 > (*親子関係が破壊されるまで*スタックで親子関係を保持するという > 選択肢もあるが、コストにあわないかなぁ) 参考までに、最初に私が Fiber の終了時の挙動をみたときは、 以下のような意味論かな、と思いました。 - 循環してもいいから親子関係を保存しておく - Fiber の終了時には親子関係を親のほうに辿って、 最初に見つかった生きている Fiber を yield する この意味が便利かどうかは考えていません。 > > dynamic-wind についてはお察しの通りよくわかってませんが、例えば > > 「ブロックを取るメソッドを書くとき、そのメソッドを使う人が > > callcc でブロックの中に飛び込むようなことをしたときの対策が > > とれない」ってことでしょうか。 > >  ensure と ensure の逆がうまいこと出来ないってことです。 それを実際に使いたいときとは、上記のような対策をとるときかと思いました。 > > ごもっともですが、下手に他の言語で十分練られた設計があるなら > > それを盗むのも手かと思わなくもないです。 > > それにもいくつか選択肢はあるんですよね。 (「下手に練られた設計」ってなんだよ orz) はい。Lua に習うにせよ習わないにせよ、例の論文に選択肢がまとまっているので 一読の価値があると思います。 -- Yusuke ENDOH