Dynamic Language Runtime (DLR)
The second announcement from MIX07 (see my previous post for the first) is a little vaguer with concrete information; and it’s the announcement of the Dynamic Language Runtime.
“It is a layer of software that supports dynamic languages running on the CLR. It provides a shared set of language services such as a dynamic type system, fast dynamic dispatch, smart code generation, and a hosting API. It layers on top of the CLR, which provides its own set of shared services such as a world class JIT and GC, sandboxed security model, and debugging/profiling interfaces.”
What this means is that Microsoft is providing a layer on top of the CLR which dynamic languages (such as Python, Ruby, JavaScript and Visual Basic [read VBScript]) can commonly use and provides functionality which the language implementers have had to previously write themselves if they wanted the language to be used in .NET.
While I personally won’t be using the DLR, I am interested in its development because I do a lot of Python/.NET integration at work; and already there is a new version of IronPython (albeit an Alpha release) using the DLR.
The gurus at my company abhor the idea of “yet another layer” which their code must work through to get stuff done; and while I’m tempted to agree with them in principle when compared to executing a dynamic language script in other environments I’m not going to pass judgement until there are a couple more articles and some workable samples to benchmark on.
With what little information I have at this point in time, Jim Hugunin and his team (who brought us IronPython) are working the DLR and you can read more about the announcement and, hopefully (his previous posts have been few and far between), follow its progress from his blog.



[…] uple of years. You just have to look at the On Rails movement as well as Microsoft’s Dynamic Language Runtime that they are building; and I’d add that XML as a first-class citizen of VB. […]