DLRとASTやCOMなど

IronPython 2.0 A8で提供されているDLRを見ていると、IronPython 2.0A4の-X:PreferComDispatchがどのような機能として提供されているかに気が付くことができます。具体的には、上記のエントリーで私が「DLRにCOMサポートとしてのIDispachサポートが入って欲しいと考えています」と記載したことが、カスタムActionとして実装されていることです。Microsoft.Scripting.Actions.ComDispatchというネームスペースにCOMを扱うための振る舞いを提供するカスタムActionが提供されています。これが何を意味するかと云えば、言語実装者がCOMに対する振る舞いを追加したければ、このカスタムActionへマップすれば良いことを表しています。つまりIronPythonだけでなく、他の言語でもCOMオブジェクトを利用可能にすることができるインフラが容易用意されているのです。

簡単な言語を作るという一連のエントリの中で、言語固有のASTを作り、このASTをDLRのASTへマップすると説明しました。このDLR ASTのみを使った実験というものをNyaRuRuさんが紹介しています。NyaRuRuさんのエントリーもとても興味深いものです。

さてこのような動的言語のインフラを提供するDLRですが、来週には何らかの発表があると思います。というのもラスベガスでMIX08が開催され、Silverlight2.0Beta1が発表されるからです。このBeta1には、間違いなくDLRが含まれていますので、どこまでAPIが固まったのかなどの状況を知るのに有益な情報源になることでしょう。

それから1月に行われたLang.NET Symposium2008のストリーミングが公開されています。全てのセッションが公開されているわけでありませんが、興味深いセッションが沢山ありますので、是非ともご覧になってください。視聴には、Silverlightが必要になります。またRedmondの本社でIronRuby、IronPython、F#、DLRのエンジニアを募集しています。
#ちなみに私の英語力では、移住できないので、もちろん応募はできません。もう少し、英語力があればと思うこの頃です。