动态语言运行时
动态语言运行时(Dynamic Language Runtime,DLR)是微軟構架於CLR之上的一組服務集合,可提供下列功能:
- 動態類型系統,以分享給所有使用DLR服務的語言。
- 動態方法分派
- 動態產生代碼
- Hosting API
DLR被用來在.NET Framework上實作如Python和Ruby等動態語言。DLR服務目前已經使用在IronRuby(Ruby的.NET實作)和即將釋出的IronPython 2.0。同時Microsoft也計畫使用在Visual Basic .NET 10.0與Managed JScript(ECMAScript 3.0)上。
要讓多種動態語言實作能共享同樣的系統,它應該要能很容易地讓這些實作相互溝通。舉例來說,它應該要讓動態語言能使用以其他動態語言撰寫的函式庫。另外,Hosting API允許能與靜態語言,如C#,相互操作。
源由
Microsoft DLR最早是由Microsoft在MIX 2007上公開。DLR代碼目前仍未正式釋出,只存在於IronPython的庫(Repository)裡面。Microsoft計畫在IronPython 2.0釋出的同時,釋出DLR第一個可用的版本。
參見
- Da Vinci Machine,在Java虛擬機層級讓Java平台能支援動態語言的努力。
參考
- MIX 07 - Silverlight shines brighter!. [2007-04-30]. (原始内容存档于2007-05-02).
- MIX 07 Video Presentation - DEV02 - Just Glue It! Ruby and the DLR in Silverlight. [2007-05-04]. (原始内容存档于2007-05-08).