IronPython v2.0 Alpha 1とDLR

v2.0 Alpha 1 Release Notes

We have just released IronPython 2.0 Alpha 1. IronPython 2.0 will be the first release of IronPython built upon a common dynamic language runtime (DLR) as well as targeting version 2.5 of Python. These release notes list what is new in IronPython 2.0, a brief overview of the DLR, and what to expect from the 2.0 release.

上にあるようにIronPythin 2.0からはDLRと呼ばれる動的言語用のランタイムエンジン上に構築されるようです。またCPython 2.5以降のフィーチャーはIronPython 2.0に含まれていくようになるようですね。

IronPython 2.0 will also be the first major release to support 2.5 out of the box. In IronPython 1.x, and in this initial alpha release, users must enable this with a command line switch. During the 2.0 release cycle we will flush out the remaining 2.5 features and permanently enable this option. We will also start looking at supporting v2.6 features via command line switch and start some experimentation around the 3.0 features. In particular, we are excited about looking at the new bytes and string types as well as formatting options that we believe will fit nicely with .NET.

現実的にはベースとなるDLR自身の情報もほとんど無いので、具体的なところは解りませんが、.NET Fx上で動的言語を扱うための基盤ができあがりつつあるようです。

とかおもっていたら、DLRに関するBlogが。。

Jim Hugunin’s Thinking Dynamic : A Dynamic Language Runtime (DLR)
http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx

うむ。激しく要約すると。

  • DLRは動的言語向けのCLRで、そのためのメカニズムを提供する。(タイプシステム、動的なコード変換)
  • DLRはCLRの重要な機能のみを取り込む(つまり全部じゃない)
  • 最初にサポートされるのはJava ScriptとIronPythonで、これらはSilverlight Ver. 1.1に実装される。
  • その他にRuby, VBの実装を試みている

DLRで何が捨てられたのか興味がありますが、今後このDLRが鬼子にならないことを祈るばかりです。まぁRemotingはごっそり捨てられたに1000カノッサ。。。

補足(2007/5/9)
トラバで指摘されてますが、「DLRはCLRの重要な機能のみを取り込む(つまり全部じゃない)」という要約はおかしいですね。現段階での別リソースの情報を含めて整理しておくと、DLRは何らかのCLR上で動作するもので、CLRを置き換えるものじゃないです。ただし、Silverlight V1.1 Alphaに実装されているCLRはMini-CLRというサブセットなので、CLRが持つすべてクラスが使えるわけではないはずですのでご注意を。このBlogを書いたときはまだ、DLRとSilverlightが別々に存在するってちゃんと理解できていなかった。

One thought on “IronPython v2.0 Alpha 1とDLR”

コメントを残す