前田です。

On 05/28/2007 05:01 AM, SASADA Koichi wrote:
>  Continuation のついでに Fiber を入れました。金曜日には出来てたんです
> が、もろもろあってコミットが遅くなってしまいました。

おお。

> (1) そもそも、Ruby にこんな機能を加えていいですか?
> 
>  とりあえず、Generator は大変書きやすかったです。

いいと思うのですが、Rubyレベルで継続を使って書かないのはパフォーマンスの
ためですか?

> (2) Fiber という名前は適当でしょうか?
> 
>  Coroutine という名前のほうがいいのかなぁ、という気もしています。Fiber
> だと、Thread に引きずられて誤解が生じる可能性があるかもしれません。
> ちょっとわかりません。

Fiberでいいんじゃないでしょうか。
何かかっこいいですよね。

> (3) API 名は適当でしょうか?
> 
>  というか、適当じゃないと思います。Thread#pass との連想で Fiber#pass と
> しましたが、「機能の連想で、スレッドに引きずられる」、「fib#pass で fib
> に処理が移るとは思いづらい」などの話があると思います。

WindowsだとSwitchToFiber()なんですよね。
とはいえFiber.switch_to(fib)はかっこわるいので、Fiber#runかなあ。
どっちかというと、イメージ的に近いのはpassよりrunじゃないですかね。
Thread#runとは必ず処理が移るかどうかという違いはあるわけですけど、
passよりrunの方が処理が移る先がわかりやすいように思います。

-- 
前田 修吾