Sunday, December 19, 2010

Microsoft Dynamic Langugage Runtime (DLR)

The Dynamic Language Runtime (DLR) is a set of libraries built on the CLR to support dynamic language implementations on .NET. A key value proposition of the .NET CLR is supporting multiple languages and allowing them to inter operate with each other. Dynamic languages have become very popular in the last several years. Customers want to use their favorite dynamic language and have great .NET interoperability for building applications and providing scripting for applications. The DLR makes it very easy to develop dynamic languages on .NET.
The DLR provides three key components:
  1.  language implementation services with language interoperability model
  2.  dynamic language runtime services with fast dynamic dispatch and library support
  3.  common hosting APIs across languages
The key goals of the DLR are making it easy to
  1.  port dynamic languages to .NET
  2.  add dynamic features to your existing language
  3.  author libraries whose objects support dynamic operations
  4.  employ dynamic languages in your applications and frameworks.
DLR hosting APIs
The DLR Hosting API is a programming interface that allows one language’s code to execute in another
language. It helps in using a Dynamic Language’s Code in a Static Language.

Dynamic Languages - Outside .net family of languages. For example: Ruby or Python
Static Languages - .NET languages like VB.net, C#.net etc.
For more information please visit http://dlr.codeplex.com/