2010-01-15 74 views
10

您知道.NET 4.0 DLR支持的动态语言列表吗?.NET 4.0支持的动态语言DLR

我知道IronRuby支持IronPython。不确定IronScheme是否。 F#?还有什么?

谢谢!

+5

F#不是一种动态语言。它是一种功能性语言,不直接以任何方式使用DLR – JaredPar 2010-01-15 21:43:46

+3

语言将支持/使用DLR,而不是其他方式。 – nos 2010-01-16 00:18:20

+0

我发现使用DLR服务实现的任何动态语言都可以在.NET框架上运行。 – tranmq 2010-01-16 19:15:29

回答

10

IronPython和IronRuby将是唯一官方支持的动态语言。

C#4.0将有一个新的关键字'dynamic',它将根据DLR创建动态对象。讽刺的是,使用动态关键字是一个静态声明。有关IronPython URLs上的'dynamic'关键字的更多信息。

我认为很多关于DLR的混淆来自其他语言的错误启动次数。由于我仍然无法理解的原因,微软选择了反对继续支持Managed JScript。这里有一个interesting discussion on the DLR page on Codeplex其中MS雇员状态

的DLR JScript的是实验用于通知DLR的设计(表达式树,互操作,callsites,托管,等)。随着DLR继续在CLR 4.0中发布,我们随asp期货和Silverlight动态SDK发布的JS变得非常老旧,无法使用。不幸的是,目前还没有计划开发和发布DLR主机JScript。

即使在托管JScript作为第一类DLR语言引入之后,所以在某些意见发生改变的地方。就动态特性而言,VBx似乎从来没有像现在这样脱颖而出。 IronLisp成为IronScheme,它并没有完全死亡(它的发布候选在10月份推出,但自11月以来没有代码更新)。Nua(DLa的Lua)是2008年的DOA。

特别值得注意的是Phalanger,PHP for .Net。虽然目前还没有在DLR上,但according to Wikipedia仍然在努力将其放在DLR上。

+0

非常感谢您提出一个非常有教育意义的答案。这是我正在寻找的那种答案。不像这里的链接,去看看。我当然可以谷歌。 – tranmq 2010-01-18 00:02:37

+0

IronScheme刚刚更新! – 2011-04-03 23:38:33

1

wikipedia: dynamic language runtime

在 目前使用的DLR服务的IronRuby,一个 .NET实现了Ruby语言 ,并为IronPython的开发版本。

2007年,Microsoft计划在即将到来的Visual Basic .NET 10.0(VBx)和托管JScript(ECMAScript 3.0)中使用DLR。 然而,截至2009年8月,微软 没有更多计划来实施管理 的JScript的 DLR(ECMAScript中3.0),和 的Visual Basic .NET对 已经取得了微软的Visual DLR的工作没有再提 基本开发更新。类似于C#,Visual Basic将能够从DLR上构建的动态语言 访问对象,例如IronPython 和IronRuby [。

IronScheme,即将到来的方案 实现[,正打算 建立在DLR,但决定 放弃这个想法,因为使用的DLR 分支该项目成为了 同步与躯干,并且还因为 根据开发商的DLR, 无法支持大部分 计划的要求。

2

Jetfire是一个.net动态语言,可在http://jetfire.codeplex.com。语言语法基于C#。

该项目使用.net C#4.0'dyanamic'对象(DLR)提供对Jetfire对象的访问。