March 27, 2009


Filed under: DLR — @ 3:00 pm

Now that IronRuby and IronPython are getting good exposure, I thought it is good to revisit what is DLR. DLR stands for Dynamic Language Runtime similar to CLR as Common Language Runtime. Before we go into DLR lets look at what is CLR.  The main idea behind CLR is that, remove most of the common functionalities that static programs is going to use, implement it in CLR so that when creating new static type language the developers can concentrate on the language features rather than worrying about the common language features like garbage collection (GC) or just in time compilation (JIT). Now lets look at the DLR, it is exactly same as CLR in concept, DLR has common features of dynamic languages compared to static language features in CLR. So that language developers can implement language specific  when designing and developing the dynamic language.  It also means that if we would develop new dynamic language on top of DLR, we could use libraries written in static languages like C# which run on top of CLR.

It is my understanding that, IronPython was developed first and when IronRuby work started, John Lam and others separated the dynamic language features out and created the DLR. Initially they attempted IronPython, IronRuby, VB and Javascript on top of DLR. But after initial attempt VB and Managed Javascripts were dropped and only IronPython and IronRuby stayed on top of DLR.

As per Wiki the dynamic language provide the following

I would like to go back and write more on this so that I get my head around the basic fundamentals correct 🙂

Technorati Tags: ,,

Powered by WordPress