«前の日記(2008-02-27) 最新 次の日記(2008-02-29)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2008-02-28 [長年日記]

_ [Ruby] MacRuby - ruby - Trac

Mac OSXで動作するRubyというだけなら単にコンパイルするだけでよいのだが、 このMacRubyは、YARVをベースに

  • 全部のオブジェクトをObjective-Cのオブジェクトにマップ(プロクシ不要)
  • OSXの世代別GCを利用
  • obj.foo(1, bar: 2)を [obj foo: 1 bar: 2] にマップ

するという大胆なもの。すげーっ。

これが成功すればRubyは名実ともにOSXの公式スクリプト言語として定着するに違いない。

言語設計者として一番気になるのは、リストの最後にある「Objective-C呼び出しへのマッピング」。 上の例では「foo:bar:」というObjective-Cのメソッドが存在しなければ 通常のfooメソッドの呼び出しになるようになってるそうだ。

将来(2.0?)のキーワード引数に対するヒントになるかもしれない。

言語実装者として気になるのは、世代別GCの実装。 確か明示的なライトバリアが必要なタイプだったと思うんだけど、 これをどうしたかっていうのも興味深い。

っていうか、手元にOSXマシンがなくて試せないってのはどうなのよ。

最近はMacBook安いし、ひとつ手元にあっても、という気もしないでもないのだが、 あのポインティングデバイスが駄目なので*1、 どうにも購買意欲が。

*1  試したがiPod Touchも駄目だった

本日のツッコミ(全5件) [ツッコミを入れる]
_ ささだ (2008-03-03 19:18)

なんと! 世代別GCですか。凄いなあ。

_ (2008-03-03 20:02)

MacBookをノートだと思うからイカンのです。<br>私はHHKと1000円マウスと液晶モニタ繋いで、<br>蓋を閉じて、省スペースデスクトップとして使ってます。<br>MacRubyで気になるのは、GCより、どっかにNative threadと<br>書いて有った「気がする」事...<br>誰か情報求む...

_ まつもと (2008-03-03 20:08)

そういう意味ではYARVがすでにnative thread「対応」です。<br>MacRubyはYARV以上のことはしてないと思います。

_ MSuzuki (2008-03-04 11:45)

RubyオブジェクトをObjectにマッピングしているようなので、世代別GCもObjective-Cの物なのかもしれないですね。

_ まつもと (2008-03-04 14:09)

「かもしれない」じゃなくて、まさにその通り、です。<br>作者のLaurentに確認してます。

お名前:
E-mail:
コメント:
[]

«前の日記(2008-02-27) 最新 次の日記(2008-02-29)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.