From: KOSAKI Motohiro Date: 2012-06-18T17:14:07+09:00 Subject: [ruby-dev:45758] Re: [ruby-changes:24028] yugui:r36079 (trunk): Embedding CRuby interpreter without internal headers has been difficult (6/15/12 5:57 PM), Nobuyoshi Nakada wrote: > なかだです。 > > At Fri, 15 Jun 2012 21:41:32 +0900, > Yugui wrote in [ruby-dev:45750]: >> NODEじゃないんですよね実は。受け取る関数の名前は単なる1.8時代の名残であって現在はiseqです。 >> こんな風に、APIレベルでは中身について詮索すると幸せにならないのでopaque dataとしてあつかってほしい訳です。 >> void*でもruby_opaque_tでも変わらないよ、というのは一つの意見としてあり得ますが、今更nodeというのはないと思います。 > > それならコンパイル結果であることを示す名前にすべきじゃないでしょ > うか。rb_opaque_tではopaqueなことはわかりますが、肝心の「何を > opaqueにしたのか」が不明です。重要なのは、opaqueであることではな > くてコンパイル結果であることのはずです。 > もし他にもAPIレベルでは中身を見せたくないデータが必要になった場 > 合、やはりrb_opaque_tを流用するのでしょうか。 わたしも rb_opaque_t はちょっとないかなあと思います。普通汎用のopaque型ってのは containerライブラリとか本当にcallerが何入れてくるか分からないときに使うテクニックなので、 nodeっぽいなにかな型をつくるなり、void*なんだけど変数名にて説明するのがいいと思います。 まあ、opaqueは枝葉の問題なのでさておくとして、なんで embedded feature が壊れるかと考えたん ですが、ようするにテストが足りてない、gorubyではembedded featureが壊れたときにビルドが壊れる ほどには本気embeddedではなかったということではないでしょうかね。なんか埋め込みサンプルを もう1つぐらい treeに入れておくと幸せになれるように思うのですがどうでしょうか。 ・・・などという事が、あーdiffにtestがないなあなどと思いながら眺めていて浮かんできましたです。はい あと、サンプルが増えると perfコマンドにrubyスクリプトを解釈できるようにさせようという野望を持っている 僕がちょっとだけ幸せになれます(^_^)