Dynamic Language Runtime (DLR)

Eintrag zuletzt aktualisiert am: 30.09.2016

Dynamic Language Runtime (CLR) ist eine Laufzeitumgebung für dynamische (alias "dynamisch-typisierte") Sprachen im Rahmen des .NET Frameworks.

Ziel der DLR ist es, die Entwicklung dynamischer Sprachen einfacher zu gestalten sowie aufgrund der gemeinsamen Basis, welche durch die DLR dargestellt wird, für Interoperabilität zwischen dynamisch sowie zwischen dynamisch und statisch typisierten Sprachen zu sorgen.

Die breite Masse der .NET-Entwickler, welche sich nicht mit dem Entwickeln von Sprachen beschäftigt, wird das Vorhandensein der DLR am ehesten beim Verwenden von Sprachfeatures sowie Bibliotheksfunktionen, welche den Einsatz von dynamischen Objekten erlauben, bemerken. Als Beispiel sei an dieser Stelle der neue Datentyp dynamic in C# sowie die mit .NET 4.0 eingeführten Klassen DynamicObject und ExpandoObject welche das Bereitstellen von dynamischen Objekten in statisch typisierten .NET-Sprachen, wie C# oder Visual Basic erlauben, genannt

Aufsatz zur .NET CLR

Ein Teil seit .NET 4.0 im Framework enthalten (System.Core.dll)
Weitere Teile Microsoft.Scripting.*.dll und Microsoft.Dynamic.dll (https://dlr.codeplex.com/)

Funktionen

Dynamisches Type System
Dynamic method dispatch
Dynamic code generation
Hosting API

Beispiele für unterstützte Sprachen

IronPython
IronJS
IronRuby