var/initializer
何をトチ狂ったのかMycomジャーナルにまで取り上げられているMoonlightだけど、昨日になって今年のSummer of Codeの学生さんがいきなりC# 3.0のvarや匿名型、initializerなどいくつかの新機能を実装してチェックインしていた。すげー。まあ、パッチの存在は聞いていたのだけど。
型推論はまだ初期段階なので、出来ないことの方が多いとは思うけど、既にlinq(for-in-where-select)の基本部分は実装されているようなので、簡単なものならもうコンパイルできるかもしれない。XLinqはAPIレベルではほぼ互換だし、基本的なDOMツリー操作は出来ていると期待しているのだけど、MSのOOXMLを使ったサンプルを(嫌々ながら) gmcs /langversion:linq -pkg:olive でコンパイルしてみたら、まだgmcsのエラーでクラッシュした。まあ、linq自体まだ正式版が出ているわけでもないので、焦ることもないだろう。
Oliveも、Miguelの「WPFはRedで、WCFはBlueで、WFはYellowだ」(あっちの文化でYellowがカレー好きかどうかは知らんけど)みたいなノリでてきとーに決まった名前なわけで、、そんなのがこうやって日本語ニュースサイトに載っていると、何か笑い氏にしそうで申し訳なく思っているなんちゃって管理人なのであった。
System.Xml.Core.dll
ついでに眺めてみたのだけど、またずいぶん削ってますこと。てか、あるのはXmlReaderとXmlWriterとその依存クラスだけじゃん。これならプロファイルをいじってごにょるより、別アセンブリのディレクトリをフツーに作った方が早そうだなあ。まあ、まだ大幅に変わる余地があるから、何とも言えないけど。てか、この程度のせこいライブラリなら、もうMS-PLか何かで提供してもらいたい。
ついでなのでmono関係のネタを他にいくつか。
IMT
ひさしぶりにMassiがJITを最適化していた。今回はIMT = interface method table。IMTがどんなものかはIBM東京基礎研のJava JITの資料の資料の52ページに軽く書いてある。これでMonoClass/MonoVTableまわりのメモリ効率が40%くらい改善されるらしい。全体のパフォーマンスの改善は不明だ。
彼もJITいじったりdebuggerいじったりGCC-CILの面倒を見たりで、けっこうsplitな状態だ。JIT関係はそのうち新しいハッカーが入ってくるんじゃないか、と期待されているのだけど、まだ分からない。
追記: IMT本体が既に完成しているということではなくて、とりあえずVTableまわりのメモリ消費が最適化されたという状態である(そうな)。詳しくはmonologueを見てちょうだい、と。
hard work
1.2.4はもうちょっと遅れるかもしれない。リリースエンジニアの奥さんが出産した関係で、2,3日仕事を離れている。
そんで、状況がチームのMLに逐一報告されてきて、“Delivery went very well.”だの”Labor was about 3 hours”だの言っているので何だろうと思ったら、deliveryは(ペリカンが運んでくるあれではなく)分娩でlaborは陣痛だそうで(さらに予定日はdue dateと言うそうな)。出産はhard workなんだなと改めて思った次第でございやす。