Content deleted Content added
→Language implementations: reorder and rewrite both to separate the grouping of VB and JS/JScript and to give a clear introductory paragraph to this section + also eliminate outdated "as of" along the way |
m →Architecture: HTTP to HTTPS for Blogspot |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 7:
| developer = [[.NET Foundation]]
| released = {{Start date and age|2010|04|16}}
| latest release version =
| latest release date = {{Start date and age|
| latest preview version =
| latest preview date =
| programming language = [[C Sharp (programming language)|C#]]
| operating system = [[Microsoft Windows|Windows]], [[macOS]], [[Linux]] ([[Debian]], [[Ubuntu (operating system)|Ubuntu]])
Line 27 ⟶ 26:
The DLR is used to implement dynamic languages on the [[.NET Framework]], including the [[IronPython]] and [[IronRuby]] projects.
Because the dynamic language implementations share a common underlying system, it should be easier for them to interact with one another. For example, it should be possible to use [[Library (computing)|libraries]] from any dynamic language in any other dynamic language. In addition, the hosting API allows interoperability with statically typed [[list of CLI languages|CLI languages]] like [[C Sharp (programming language)|C#]] and [[Visual Basic .NET]].
==History==
Line 43 ⟶ 42:
}}</ref>
Microsoft shipped .NET DLR 0.9 beta in November 2008,<ref>{{Cite web|url=http://www.codeplex.com/dlr|title=CodePlex Archive}}</ref> and final 0.9 in December 2008. Version 1.0 shipped in April 2010. In July 2010, Microsoft changed the license of the DLR from the [[Shared source#Microsoft Public License (Ms-PL)|Microsoft Public License]] to the [[Apache License 2.0]].<ref>{{Cite web|url=http://dlr.codeplex.com/license|title=CodePlex Archive|access-date=2010-07-27|archive-date=2011-08-14|archive-url=https://web.archive.org/web/20110814193029/http://dlr.codeplex.com/license|url-status=dead}}</ref> With the release of [[.NET 4]], also in April 2010, DLR was incorporated into the .NET Framework itself.<ref>{{cite web | url=https://msdn.microsoft.com/en-us/library/dd233052.aspx | title=Dynamic Language Runtime Overview - .NET Framework | date=30 March 2024 }}</ref>
The open source DLR project hosted on [[GitHub]] has a few additional features for language implementers. After the July 2010 release, there was little activity on the project for some years. This was interpreted by a Microsoft developer who worked on [[IronRuby]] as a lack of commitment from Microsoft to dynamic languages on the .NET Framework.<ref>{{cite web
Line 102 ⟶ 101:
|archive-url = https://web.archive.org/web/20090831184901/http://dlr.codeplex.com/Thread/View.aspx?ThreadId=58121
|url-status = dead
}}</ref> Fredrik Holmström later independently contributed a JavaScript implementation for the DLR which he dubbed "IronJS" in the naming tradition of IronPython and IronRuby.
Like [[C Sharp (programming language)|C#]], Visual Basic can access objects from dynamic languages built on the DLR such as [[IronPython]] and [[IronRuby]].<ref>{{cite web
Line 110 ⟶ 109:
| publisher=[[Microsoft]]
| quote=''Visual Basic binds to objects from dynamic languages such as IronPython and IronRuby''
| access-date = 2009-08-12}}</ref><ref>{{cite web | url=https://msdn.microsoft.com/en-us/library/ee461504.aspx#Y480 | title=Walkthrough: Creating and Using Dynamic Objects (C# and Visual Basic) | date=25 February 2023 }}</ref>
[[PowerShell]] 3.0, released in [[Windows 8]], was updated to use the DLR.<ref>{{cite web |url= http://huddledmasses.org/powershell-3-finally-on-the-dlr |title= PowerShell 3 – Finally on the DLR! |access-date= 2012-03-30 |url-status=dead |archive-url=https://web.archive.org/web/20120428191707/http://huddledmasses.org/powershell-3-finally-on-the-dlr/ |archive-date= 2012-04-28 }}</ref>
Line 133 ⟶ 132:
| date = 2007-05-15
| access-date = 2008-02-23}}</ref> This architecture is backed by the idea that the number of elementary language constructs that would have to be implemented on the generic stack should be inherently limited.<ref>{{cite web
| url =
| title = Lang.NET 2008: Day 1 Thoughts
| last=Nutter|first=Charles
Line 140 ⟶ 139:
| access-date = 2008-02-23}}</ref> The DLR [[Metadata (CLI)#Reflection|dynamically generates]] code corresponding to the functionality expressed by these nodes. The compiler for any dynamic language implemented on top of the DLR has to generate DLR abstract trees, and hand it over to the DLR libraries.
The DLR provides dynamically
In contrast to other efforts like the [[Parrot virtual machine]] (with no dependencies) or [[Da Vinci Machine]] (built on Java's [[JVM]] by adding new bytecodes in the [[Java bytecode|JVM instruction set]]), the DLR is built on top of the existing [[Common Language Runtime]], the [[.NET Framework]] virtual machine.<ref>{{cite web
|