/dlr

Dynamic Language Runtime

Primary LanguageC#Apache License 2.0Apache-2.0

Dynamic Language Runtime

The Dynamic Language Runtime enables language developers to more easily create dynamic languages for the .NET platform. In addition to being a pluggable back-end for dynamic language compilers, the DLR provides language interop for dynamic operations on objects. The DLR has common hosting APIs for using dynamic languages as libraries or for scripting in your .NET applications.

What? Where?
Windows/Linux/macOS Builds Build status Github build status
Downloads NuGet Release
Help Gitter chat StackExchange

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Installation

The best way to install the DLR is through the NuGet DynamicLanguageRuntime package.

Documentation

The best current documentation is in the Docs/ directory, in Word and PDF format (it was a Microsoft project, after all).

Help

If you have any questions, open an issue, even if it's not an actual bug. The issues are an acceptable discussion forum as well.

History

The original DLR site is at CodePlex. The DLR was part of a much larger repository containing IronPython and IronRuby as well; you can find it at the main repository. This is a smaller repository containing just the DLR, which makes it easier to package and should make it easier to do more regular releases.

Build

You will need to have Visual Studio 2019 16.8.0 or later installed on your machine.

On Windows machines, start a Visual Studio command prompt and type:

> make

On Unix machines, make sure Mono is installed and in the PATH, and type:

$ make

Since the main development is on Windows, Mono bugs may inadvertantly be introduced — please report them!