What is dynamic language runtime?

DLR is a runtime nviroment that allows us to inetgrate dynamic languages with common language runtime(CLR) by adding set of services, such as expression trees, call site caching, and dynamic object interoperability to the CLR.

The various advantages provided by DLR are: 1. Allows you to easily implement the dynamic languages to the .NET Framework.
2. Provides dynamic features to statically-typed languages. The statically-typed .NET Framework languages, such as C# and Visual Basic can create dynamic objects and use them together with statically-typed objects.
3. Implements sharing of libraries and objects, which means that the objects and libraries implemented in one language can be used by other languages using DLR. The DLR also enables interoperation between statically-typed and dynamic languages.
4. Enables fast execution of dynamic operations by supporting advance caching.