你知道 .NET 4.0 DLR 支持的动态语言列表吗?
我知道 IronRuby、IronPython 都受支持。不确定 IronScheme 是否是。F#?还有什么?
谢谢!
你知道 .NET 4.0 DLR 支持的动态语言列表吗?
我知道 IronRuby、IronPython 都受支持。不确定 IronScheme 是否是。F#?还有什么?
谢谢!
IronPython 和 IronRuby 将是唯一官方支持的动态语言。
C# 4.0 将有一个新关键字“dynamic”,它将基于 DLR 创建动态对象。具有讽刺意味的是, using dynamic 关键字是一个静态声明。有关IronPython URL上的“动态”关键字的更多信息。
我认为关于 DLR 的很多困惑来自于其他语言的错误开始数量。由于我仍然无法完全弄清楚的原因,Microsoft 选择反对继续支持托管 JScript。在 Codeplex 的 DLR 页面上有一个有趣的讨论, MS 员工在该页面上说
DLR JScript 是实验性的,用于通知 DLR 的设计(表达式树、互操作、调用站点、托管等)。随着 DLR 继续发展以在 CLR 4.0 中发布,我们使用 asp futures 和 Silverlight 动态 sdk 发布的 JS 变得非常陈旧且无法使用。不幸的是,目前没有开发和发布 DLR 可托管 JScript 的计划。
即使在 Managed JScript 作为一流的 DLR 语言引入之后,这种观点也发生了变化。就动态特性而言,VBx 似乎从未起步。IronLisp 变成了 IronScheme,它并没有完全死掉(它的候选版本在 10 月发布,但自 11 月以来没有代码更新)。Nua(DLR 的 Lua)是 2008 年的 DOA。
特别值得注意的是Phalanger,用于 .Net 的 PHP。虽然目前不在 DLR 上,但根据维基百科的说法,正在努力将其放在 DLR 上。
Jetfire 是一种 .net 动态语言,可从http://jetfire.codeplex.com获得。语言语法基于 C#。
该项目使用 .net C# 4.0“动态”对象 (DLR) 提供对 Jetfire 对象的访问。
DLR 服务目前用于 IronRuby 的开发版本(Ruby 语言的 .NET 实现)和 IronPython。
2007 年,Microsoft 计划将 DLR 用于即将推出的 Visual Basic .NET 10.0 (VBx) 和托管 JScript (ECMAScript 3.0)。但是,截至 2009 年 8 月,Microsoft 没有更多计划在 DLR 上实施托管 JScript (ECMAScript 3.0),并且 Microsoft 在 Visual Basic 开发更新中也没有进一步提及在 DLR 上运行的 Visual Basic .NET。与 C# 类似,Visual Basic 将能够访问基于 DLR 构建的动态语言的对象,例如 IronPython 和 IronRuby[。
IronScheme 是一个即将推出的 Scheme 实现 [,计划在 DLR 的基础上进行构建,但决定放弃这个想法,因为该项目使用的 DLR 分支与主干不同步,而且根据开发人员的说法,DLR 不能支持大部分 Scheme 的要求。