遠藤です。

説明下手ですみません。わかってもらえたようでよかったです。


> (*親子関係が破壊されるまで*スタックで親子関係を保持するという
> 選択肢もあるが、コストにあわないかなぁ)

参考までに、最初に私が Fiber の終了時の挙動をみたときは、
以下のような意味論かな、と思いました。

  - 循環してもいいから親子関係を保存しておく
  - Fiber の終了時には親子関係を親のほうに辿って、
    最初に見つかった生きている Fiber を yield する

この意味が便利かどうかは考えていません。


> > dynamic-wind についてはお察しの通りよくわかってませんが、例えば
> > 「ブロックを取るメソッドを書くとき、そのメソッドを使う人が
> > callcc でブロックの中に飛び込むようなことをしたときの対策が
> > とれない」ってことでしょうか。
>
>  ensure と ensure の逆がうまいこと出来ないってことです。

それを実際に使いたいときとは、上記のような対策をとるときかと思いました。


> > ごもっともですが、下手に他の言語で十分練られた設計があるなら
> > それを盗むのも手かと思わなくもないです。
>
> それにもいくつか選択肢はあるんですよね。

(「下手に練られた設計」ってなんだよ orz)
はい。Lua に習うにせよ習わないにせよ、例の論文に選択肢がまとまっているので
一読の価値があると思います。

-- 
Yusuke ENDOH <mame / tsg.ne.jp>