tags:

views:

571

answers:

3

Do you know of the list of dynamic languages that .NET 4.0 DLR supports?

I know IronRuby, IronPython are supported. Not sure if IronScheme is. F#? What else?

Thanks!

A: 

from wikipedia: dynamic language runtime

The DLR services are currently used in the development version of IronRuby, a .NET implementation of the Ruby language, and for IronPython.

In 2007, Microsoft planned to use the DLR for the upcoming Visual Basic .NET 10.0 (VBx) and Managed JScript (ECMAScript 3.0). However, as of August 2009, Microsoft has no more plans to implement Managed JScript (ECMAScript 3.0) on the DLR, and no further mention of Visual Basic .NET working on the DLR has been made by Microsoft on Visual Basic development updates. Similar to C#, Visual Basic will be able to access objects from dynamic languages built on the DLR such as IronPython and IronRuby[.

IronScheme, an upcoming Scheme implementation[, was planning to build upon the DLR, but decided to abandon this idea because the DLR branch the project used became out of sync with the trunk, and also because the DLR, according to the developers, could not support the majority of Scheme's requirements.

gWiz
+6  A: 

IronPython and IronRuby will be the only officially supported dynamic languages.

C# 4.0 will have a new keyword 'dynamic' that will create dynamic objects based on the DLR. Ironically, the using dynamic keyword is a static declaration. More information about the 'dynamic' keyword on IronPython URLs.

I think a lot of the confusion about the DLR comes from the number of false starts for other languages. For reasons I still can't quite figure out, Microsoft chose against continuing support of Managed JScript. There's an interesting discussion on the DLR page on Codeplex where a MS employee states

The DLR JScript was experimental for informing the design of the DLR (expression trees, interop, callsites, hosting, etc.). The JS we released with asp futures and the Silverlight dynamic sdk became very old and unserviceable as the DLR continued evolving for release in CLR 4.0. Unfortunately, there are no plans at this time to develop and release a DLR-hostable JScript.

even after Managed JScript was introduced as first class DLR language, so somewhere along the line that opinion changed. VBx never seemed to get off the ground as far as dynamic features go. IronLisp became IronScheme, which isn't completely dead (it's release candidate came out in October, but no code updates since November). Nua (Lua for the DLR) was DOA in 2008.

Of particular note is Phalanger, PHP for .Net. Although not on the DLR at the moment, according to Wikipedia there is an ongoing effort to put it on the DLR.

pnewhook
Thank you very much for putting together a very educative answer. This is the kind of answer I am looking for. Not like here's the link, go check it out. I sure can google.
mqbt
+1  A: 

Jetfire is a .net dynamic language available at http://jetfire.codeplex.com . The language syntax is based on C#.

The project provides access to Jetfire objects with .net C# 4.0 'dyanamic' objects (DLR).

John Hansen