ものがたり(旧)

atsushieno.hatenablog.com に続く

cecil/light

http://github.com/jbevain/cecil

cecilは.net 1.xのビルドもサポートするくらい古いままの設計だったのだけど、ついに全面的に書き直されることになったようだ。今公開されているものは、Silverlightでもビルド出来る程度にモダンなコードになっている。System.Collectionsの古いコレクションに依存していたりするとsilverlightではビルドできないわけで、そうするとやはり根本的に書き直すしかないということなんだろう。

cecilいろんなプロジェクトで使われているので、cecilボトルネックになってリニューアルできない、なんてことにならないうちに(もうなっているかもしれない)、新しいバージョンを投入すべき時期だとは言えそうだ。

かつてgmcsにはReflection.Emitを全面的にcecilに置き換えようというプロジェクトが存在していたことがあった。いや、今でもあるのだろう。うちのgmcsハカーは、いまgmcsのコンパイラエンジンをsilverlightで動かすためのパッチを作っている、というもある。周辺のtweetを見るに、どうやらcecilとほぼ同様の目的で作られているIKVM.Reflection.Emitを使っているのではないかと思うが、多分cecil/lightが出てきたらまたcecilに戻そうと思っているのだろう。

この辺は月末か翌月初あたりには何か出てくるかもしれない。ちょっと楽しみだ。C# REPL on Silverlightは分かりやすいメリットだ。