Mac OSXで動作するRubyというだけなら単にコンパイルするだけでよいのだが、 このMacRubyは、YARVをベースに
するという大胆なもの。すげーっ。
これが成功すればRubyは名実ともにOSXの公式スクリプト言語として定着するに違いない。
言語設計者として一番気になるのは、リストの最後にある「Objective-C呼び出しへのマッピング」。 上の例では「foo:bar:」というObjective-Cのメソッドが存在しなければ 通常のfooメソッドの呼び出しになるようになってるそうだ。
将来(2.0?)のキーワード引数に対するヒントになるかもしれない。
言語実装者として気になるのは、世代別GCの実装。 確か明示的なライトバリアが必要なタイプだったと思うんだけど、 これをどうしたかっていうのも興味深い。
っていうか、手元にOSXマシンがなくて試せないってのはどうなのよ。
最近はMacBook安いし、ひとつ手元にあっても、という気もしないでもないのだが、 あのポインティングデバイスが駄目なので*1、 どうにも購買意欲が。
*1 試したがiPod Touchも駄目だった
Monkey PatchingがRubyを破壊するっていうけど、 Rubyを破壊するって言われたものは他にもいーっぱいあるよね、って話。
Ruby、危うし(苦笑
なんと! 世代別GCですか。凄いなあ。
MacBookをノートだと思うからイカンのです。
私はHHKと1000円マウスと液晶モニタ繋いで、
蓋を閉じて、省スペースデスクトップとして使ってます。
MacRubyで気になるのは、GCより、どっかにNative threadと
書いて有った「気がする」事...
誰か情報求む...
そういう意味ではYARVがすでにnative thread「対応」です。
MacRubyはYARV以上のことはしてないと思います。
RubyオブジェクトをObjectにマッピングしているようなので、世代別GCもObjective-Cの物なのかもしれないですね。
「かもしれない」じゃなくて、まさにその通り、です。
作者のLaurentに確認してます。