< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
ささだです。
RubyConf 2006 の最終日にさっさと YARV をマージしろ、といわれてしまった
ので、11月中に YARV が本家リポジトリにマージできるように、今作業を進めて
います。具体的には、この連休中に形にできればと思っています。
まつもとさんたちと相談した結果、具体的なプランは以下のとおりです。
1. 現在の Ruby HEAD (*a) の仕様(のほとんど)に YARV をあわせる
この作業は、YARV のリポジトリで行います <-- いまここ
2. Subversion リポジトリを (*a) から cvs2svn で作る (*b)
3. (*b) に YARV をマージしたものをコミットする (*c)
4. 3 の作業中に (*a) に新たにコミットしたものを (*c) にコミットする (*d)
(ここまでは、作業を全部なかったことにできる)
5. (*d) を Ruby の公式リポジトリとする
...
2007/12 YARV つきの 1.9.1 リリース
担当:
1, 2, 3: ささだ
4: まつもとさん
5: ?
5 を行う最終的な判断:まつもとさん
5 の完了を今月 (2006/11) 中に行えればと思っております。
これにともない、Rubyの開発について以下のように変更になります。
a) Ruby 評価器が YARV になる・Ruby の仕様に YARV の制限が入る
・ネイティブスレッドの利用、Thread.critical の廃止
・eval の binding に関する挙動変更
・などなど
b) リポジトリは CVS から Subversion になる
本件につきまして、Ruby 開発者の方々にお願いがあります。
・eval.c / parse.y の挙動の差異の調査
YARV の目的は eval.c を無くすこと(評価器の書き換え)であったため、
eval.c、つまり評価器に対する変更には十分に追従できていません。たとえば
funcall メソッドの導入(今は違うんでしたっけ?)。なんとなく、中途半端に
追従しているので、余計わかりづらくなっています。
また、parse.y についてもコンパイラ開発との兼ね合いから最新の文法に追従
できていません。
そこで、YARV と 1.9.0最新版と比較して「ここが違う」というご指摘(のリ
スト)、パッチなどを頂ければと思います。CVS の変更履歴から変更点を追って
いく作業が必要になるかもしれません。
わかりやすい仕様以上に、エラーメッセージ・警告の追加・セキュリティに関
する挙動などがとくに追従できていません。それらに関するご指摘をお願いいた
します。この類に関する網羅的なテストは Ruby には存在しないので、これを機
に開発するのもいいかもしれません(Ruby の品質改善に興味がある人が居れば)。
・YARV のソースレビュー
YARV はの C のコードは、ほぼ、ささだ一人で作っていたため全然人の目が
入っていないため、ちょっとあんまりだろ、というところも多いかと思います。
なので、読んでもらってそのあたりご指摘頂ければと思います。
この辺がわからない、などありましたらご質問頂ければ回答させていただけれ
ばと思っております。
・その他
本件について、その他のご指摘も歓迎します。この変更自体は大変大きなもの
になるため、いろいろな意見があるかと思います。前述のフェーズ「5」までは
いくらでも後戻り可能なので、ご意見頂ければと思います。
YARV: Yet Another Ruby VM
http://www.atdot.net/yarv/
YARV Subversion repository
http://www.atdot.net/svn/yarv/trunk
YARV on ViewCVS
http://www.atdot.net/viewcvs/yarv/trunk/
--
// SASADA Koichi at atdot dot net