IronPython 2.0 Alpha 2

さて,まるで昨日のワークショップにあわせたかのように,IronPython 2.0 Alpha 2 がリリースされています.
リリースノートを見てもやはり DLR (Dynamic Language Runtime) 実装部分に注力しているようです.DLR と聞くと何か特別なランタイムを想像される方もおられるかもしれませんが,現状では .NET 2.0 の上で動く,実行時コード生成・オブジェクト交換ライブラリが DLR で,(Iron)Python はそのすばらしいテストベッドと見ることができます.我々が IronPython 2.0 Alpha 2 としてダウンロードしたソースコードのうちのかなりの部分が,実質的な DLR そのものです.
実際ソースコードをダウンロードしてみた方はご存じでしょうが,IronPython 2.0 Alpha 2 は Visual C# 2005 の上で開発されている .NET 2.0 アプリケーションにすぎません.今すぐにでも,既存の .NET 2.0 アプリケーションと組み合わせて遊ぶことができるという点は非常に重要です.
CodeDOM は実質的に IDE のデザイナでしか使用されませんでした.頭をかきむしりながら DynamicMethod に IL を並べる作業は,生産的な作業とはとてもいえません.C# 3.0 の Expression Tree を利用した実行時コード生成は,興味深くはありますが,現時点では Orcas のベータ版を使わなければ試せません.そんな中,(動的) 言語実装という視点で作られた実行時コード生成ライブラリが,既存の .NET 2.0 アプリケーションに今すぐ組み込める形で実験されているのは非常にすばらしいことです.CodeDOM に絶望した方も,LCG で IL を苦労して出力していた方も,DLR Abstract Syntax Tree を使って今不満をぶつければ,その不満のいくつかは最終版までに解消される可能性があるのです.