まつもと ゆきひろです

In message "[ruby-dev:21626] Re: rewinding for Thread"
    on 03/10/15, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:

|> |  関数 -> block 	rb_iterate()
|> |  関数 -> Proc		rb_proc_new()
|> |  block -> Proc		rb_block_proc()
|> |  Proc -> block		rb_block_pass()? rb_proc_block()?
|> 
|> 直交性の観点からはそうですが、本当に必要かなあ。ほとんどのケー
|> スでrb_iterate()で代用できそう。
|
|少なくともこのケースでは、あったほうがはるかに直接的に実装でき
|ます。でないと、かなり迂遠な方法を取らざるを得ません。

rb_iterate()の第4引数にProcを渡すんでしょうね。しかし、直接
的に実行できるのが嬉しいほどこのような使い方をするかどうかが
そもそも疑問です。

|> 1.9でやりましょう。もうちょっと待って。例のバグ(ruby_scopeを
|> 使わない)を直したら1.8.1を出しますから。
|
|1.9ではeval.cからのThread関連の分離を試してみたかったんですが、
|考えてみれば必要な要素としては結構重なってる部分があるかも知れ
|ません。マシンスタックから独立したRubyスレッドコンテキストとか。

そのまましばらくお待ちください。