[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>
こんばんは、sheepman です。
ささだです。
遠藤と申します。
ささだです。
遠藤です。
ささだです。
まつもと ゆきひろです
In article <E1Hw9be-0002Rs-Qg@x31>,
まつもと ゆきひろです
[#30920] Integer#prime_division と Prime — TOYOFUKU Chikanobu <nobu_toyofuku@...>
豊福です。
[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669066C.2080307@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46694461.4060706@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46697C0B.8060402@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669DAB0.4050705@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <466AA73C.9030407@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
In article <466D5B1D.8030205@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <469253E9.9010203@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694338C.7090303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694E6A6.2060303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>
最近のRuby 1.9をLinux/ia64上でmakeしようとすると
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
In article <E1HygwQ-0001OA-4f@x31>,
ささだです。
[#30996] new block parameter rule — SASADA Koichi <ko1@...>
ささだです。
[#31002] ("a".."f").step(2) {|x| p x} — Tanaka Akira <akr@...>
string の range の step で引数が効かないように思います。
まつもと ゆきひろです
ささだです。
まつもと ゆきひろです
[#31028] rb_get_interned — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31034] Re: [ruby-cvs:19815] Ruby:r12579 (trunk): * parse.y (rb_intern2): name may not be NUL-terminated. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#31046] Conditional jump or move depends on uninitialised value(s) in TOPLEVEL_BINDING — Tanaka Akira <akr@...>
valgrind をかけたところとりあえず最初のが
ささだです。
[#31063] make error at bcc32 — "Nebata" <tnebata@...>
ねばたです。
[#31066] consts for gdb support — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31068] $&;[] dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
遠藤です。
ささだです。
遠藤です。
[#31072] {*0} dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
[ruby-dev:30991] Re: Supporting Fiber
ささだです。
Yusuke ENDOH さんは書きました:
>> 親子関係を利用したプログラミングをしている場合、「親子関係の
>> 破壊を起こさなければ」、Fiber#prev が正しく「呼び出し元」を指
>> し示すため、SemiCoroutine のような使い方が可能です。
>
> 今の Fiber で「親子関係を壊さない範囲」というのはものすごく
> 狭いと思います。coroutine の中で coroutine を呼び出して
> suspend を受けるだけで違反してしまいます。
ガーン。その通りでした。ごめんなさい orz これは間抜けだ
なぁ。こんな「中途半端」なものは、無いほうがいいですね。思い違
いをしていました。ががっと撤回します。
(*親子関係が破壊されるまで*スタックで親子関係を保持するという
選択肢もあるが、コストにあわないかなぁ)
なんとなく、resume, yield のある、SemiCoroutine クラスを、
Rubyレベルで作るのがいいような気がしてきました。
> g = Generator.new{|g|
> g.yield 10
> g.yield 20
> g.yield 30
> }
>
> Fiber.new do
> show g
> end.yield
>
> が何も出力されないというよくわからない挙動をしますが、
> これも Fiber をよくわかってないことが原因の「不思議なこと」でしょうか。
うーん、prev が変なところ指してるのかしらん(あんまり考えて
ません)
> ちなみに Lua の開発陣?の例の論文によると、semi-coroutine で
> coroutine をエンコードできると主張されてました。
> # 補助 coroutine を立ち上げて、TRANSFER するときは全てその
> # 補助 coroutine を介して呼ぶ感じです。トランポリン?
ううん、なるほど。
> dynamic-wind についてはお察しの通りよくわかってませんが、例えば
> 「ブロックを取るメソッドを書くとき、そのメソッドを使う人が
> callcc でブロックの中に飛び込むようなことをしたときの対策が
> とれない」ってことでしょうか。
ensure と ensure の逆がうまいこと出来ないってことです。
> ごもっともですが、下手に他の言語で十分練られた設計があるなら
> それを盗むのも手かと思わなくもないです。
それにもいくつか選択肢はあるんですよね。
--
// SASADA Koichi at atdot dot net