2010-01-15 121 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對象的訪問。