动态语言运行时

动态语言运行时Dynamic Language RuntimeDLR)是微軟構架於CLR之上的一組服務集合,可提供下列功能:

  • 動態類型系統,以分享給所有使用DLR服務的語言。
  • 動態方法分派
  • 動態產生代碼
  • Hosting API

DLR被用來在.NET Framework上實作如PythonRuby等動態語言。DLR服務目前已經使用在IronRuby(Ruby的.NET實作)和即將釋出的IronPython 2.0。同時Microsoft也計畫使用在Visual Basic .NET 10.0與Managed JScriptECMAScript 3.0)上。

要讓多種動態語言實作能共享同樣的系統,它應該要能很容易地讓這些實作相互溝通。舉例來說,它應該要讓動態語言能使用以其他動態語言撰寫的函式庫。另外,Hosting API允許能與靜態語言,如C#,相互操作。

源由

Microsoft DLR最早是由Microsoft在MIX 2007上公開。DLR代碼目前仍未正式釋出,只存在於IronPython的庫(Repository)裡面。Microsoft計畫在IronPython 2.0釋出的同時,釋出DLR第一個可用的版本。

參見

  • Da Vinci Machine,在Java虛擬機層級讓Java平台能支援動態語言的努力。

參考