From: "Yugui (Yuki Sonoda)" Date: 2008-09-07T22:17:46+09:00 Subject: [ruby-dev:36197] Re: [ANN] Ruby 1.9.1仕様凍結 Yuguiです。 > というか、リリースマネージャであるyuguiさんが、どのような意図を持って > >> * include/ruby/*.hにあるすべての構造体、データ型、変数、関数、マクロ >> はCレベルAPIと見なします。 > > とおっしゃったかが気になります。自分は、データ構造を隠蔽すべきだ、とい う主張に読めた > のですが(それとも、オブジェクト埋め込みの仕様とかまでAPIと宣言したかっ た?)。 > うーん、あわよくばデータ構造を隠してしまいたいという思いはかすかにあった のですが、やはりコストが掛かりそうですね。 最低限のラインという意味で言えば、 * rb_xxx関数のプロトタイプを変更するな * 公開を意図しているマクロからアクセスする構造体メンバーのオフセットを 変更するな ですかね。 なかむら(う)さんに「コンパイラが手元にあるとは限らないので拡張ライブラリ 向けのバイナリ互換性は重要」と言われてそりゃ尤もだと思ったのが発端ですので。 > On Tue, 2 Sep 2008 15:23:30 +0900 > "Yugui (Yuki Sonoda)" wrote: > >> * CレベルのAPIはruby-core/ruby-devでの事前相談なしに変更不可 >> * include/ruby/*.hにあるすべての構造体、データ型、変数、関数、マクロ >> はCレベルAPIと見なします。 >> * 公開したくないものはinclude/ruby/*.hから移動させてください。 してみると、これはちょっと乱暴すぎたかもしれないのですけれども。 改めて、 * ASTは非公開なのでしょ? node.hを移動させても良いですか? * include/ruby/*.hを見直してください。 * 構造体(残るはRArrayかな?)への埋め込みは今のうちにやってしまうか、ま たは2.0まで延ばす覚悟をしてください。 * 迂闊に使われそうな名前の関数があったら、移動させるか改名するか、また はREADME.EXTに使うなと書いてください。 * 公開せずに済ませられるものは極力移動するようにしてください。 ということでよろしくお願いします。 -- Yugui http://yugui.jp 私は私をDumpする