Content deleted Content added
removed Category:.NET Framework frameworks and libraries; added Category:.NET Framework software using HotCat |
m →Architecture: HTTP to HTTPS for Blogspot |
||
(45 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Infobox software
| name = Dynamic Language Runtime (DLR)
| logo =
| screenshot =
| caption =
|
| developer = [[.NET Foundation]]
| released = {{Start date and age|2010|04|16}}
| latest release version = {{wikidata|property|reference|edit|P548=Q2804309|P348}}
| latest release date = {{Start date and age|{{wikidata|qualifier|mdy|P548=Q2804309|P348|P577}}}}
| 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]])
| platform = [[Common Language Infrastructure]]
| genre = [[Platform (computing)|System platform]]
| license = [[Apache License 2.0]]
| website = {{URL|https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/dynamic-language-runtime-overview}}
}}
The '''Dynamic Language Runtime''' ('''DLR''') from [[Microsoft]] runs on top of the [[Common Language Runtime]] (CLR) and provides [[computer language]] services for
* A dynamic [[type system]], to be shared by all languages using the DLR services
* [[Dynamic dispatch|Dynamic method dispatch]]
Line 21 ⟶ 24:
* Hosting API
The DLR is used to implement dynamic languages on the [[.NET Framework]],
==History==
Microsoft's Dynamic Language Runtime project was announced by Microsoft at [[MIX (Microsoft)|MIX]] 2007.<ref name="announce" /><ref>{{cite web
|
| |last = Viehland
|first = Dino
|quote = ''We don't really have a document like this but the general goal is to ship IronPython 2.0 by the end of the year. For the DLR itself the plan is to ship a v1.0 around the same time as IronPython 2.0.''
|date
|access-date = 2008-02-09
|archive-url = https://web.archive.org/web/20080906190952/http://lists.ironpython.com/pipermail/users-ironpython.com/2008-January/006235.html
|archive-date = 2008-09-06
|url-status = dead
}}</ref>
Microsoft shipped .NET DLR 0.9 beta
The open source DLR project hosted on
| url = http://www.rubyinside.com/microsoft-tires-of-ironruby-jimmy-schementi-jumps-ship-3639.html
| title=Microsoft Tires of IronRuby; Jimmy Schementi Jumps Ship
Line 41 ⟶ 50:
| publisher=rubyinside.com
| date = 2010-08-07
|
| url = http://www.i-programmer.info/news/98-languages/1156-microsofts-dynamic-languages-are-dying.html
| title=Microsoft's Dynamic languages are dying
Line 47 ⟶ 56:
| quote=''Without the final push to get the languages working under Visual Studio and integrated with the designer both Iron languages are probably dead - and Microsoft seems to have lost the will to make them a success.''
| date = 2010-08-10
| access-date = 2012-02-26}}</ref> However, there has been regular activity since 2016/17, leading to a number of improvements and upgrades.
==Language implementations==
| url = http://blogs.msdn.com/jscript/archive/2007/05/04/managed-jscript-announced.aspx
| title = Managed JScript announced
|
| url = http://www.panopticoncentral.net/archive/2007/05/01/20383.aspx
| title = What the heck is "VBx"?
| date = 2007-05-01
| quote = ''With the new DLR, we have support for IronPython, IronRuby, Javascript, and the new dynamic VBx compile''
|
| archive-date = 2009-05-25
| archive-url = https://web.archive.org/web/20090525130300/http://panopticoncentral.net/archive/2007/05/01/20383.aspx
| url-status = dead
}}</ref><ref>{{cite web
| url = http://www.hanselman.com/blog/PuttingMixSilverlightTheCoreCLRAndTheDLRIntoContext.aspx
| title = Putting Mix, Silverlight, the CoreCLR and the DLR into context
| date=2007-05-01
|
| url = http://www.infoq.com/news/2007/05/VBx
| title = Introducing Visual Basic 10
Line 75 ⟶ 81:
| date=2007-05-04
| quote=''VB 10 takes advantage of a Silverlight feature called the Dynamic Language Runtime or DLR''
| access-date = 2009-08-12}}</ref>
The DLR work on Ruby and Python resulted in [[IronRuby]], a .NET implementation of the [[Ruby (programming language)|Ruby]] language, and [[IronPython]].<ref name="announce">{{cite web
| url = http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx
|last=Hugunin|first=Jim
| title = A Dynamic Language Runtime (DLR)
|quote=''For the short term, our focus is on using a small number of languages to drive the first wave of DLR development where we can work closely and face-to-face with the developers in order to iron out the worst kinks in the DLR design. After this initial phase, we want to reach out to the broader language community.''
| access-date = 2007-06-21 }}</ref>
By August 2009, Microsoft had announced it had no more plans to implement Managed JScript on the DLR.<ref>{{cite web
|url = http://dlr.codeplex.com/Thread/View.aspx?ThreadId=58121
|last = Chiles
|first = Bill
|title = Future of Managed JScript (IronJScript)?
|quote = ''The DLR JScript was experimental for informing the design of the DLR (expression trees, interop, callsites, hosting, etc.). The JS we released with asp futures and the Silverlight dynamic sdk became very old and unserviceable as the DLR continued evolving for release in CLR 4.0. Unfortunately, there are no plans at this time to develop and release a DLR-hostable JScript.''
|date = 2009-06-01
|access-date = 2009-08-12
|archive-date = 2009-08-31
|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
| url = https://msdn.microsoft.com/en-us/library/we86c8x2%28VS.100%29.aspx
| title = What's New in Visual Basic 2010
Line 87 ⟶ 109:
| publisher=[[Microsoft]]
| quote=''Visual Basic binds to objects from dynamic languages such as IronPython and IronRuby''
|
[[PowerShell]] 3.0, released in [[Windows 8]], was updated to use the DLR
[[IronScheme]],
|
|archive-url = https://archive.today/20130119115406/http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=55925
|url-status = dead
|archive-date = January 19, 2013
|title = Is there any silverlight sample?
|quote = ''Unfortunately, my DLR branch is very out of sync with the Silverlight one. I just thought about it, perhaps I do not need the DLR perse, will investigate. The problem is that the DLR as-is, is not good enough to support the majority of the Scheme's requirements''
|date = 2009-05-11
|access-date = 2009-07-26
}}</ref>
==Architecture==
Line 105 ⟶ 131:
| quote=''The key implementation trick in the DLR is using these kinds of trees to pass code around as data and to keep code in an easily analyzable and mutable form as long as possible.''
| date = 2007-05-15
|
| url =
| title = Lang.NET 2008: Day 1 Thoughts
| last=Nutter|first=Charles
| quote=''The idea is that there's a quickly-flattening asymptotic curve to the number of expression tree nodes required to implement each new language. Whether that's the case is yet to be seen.''
| date = 2008-01-28
|
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
|
|
|
|first = John
|quote = ''The differences between the CLR and JVM extensions are interesting to note. They work completely above the level of the CLR without significantly enhancing it, while we are developing the JVM and libraries at the same time.''
|date
|access-date = 2008-02-23
|archive-url = https://web.archive.org/web/20080206064217/http://blogs.sun.com/jrose/entry/bravo_for_the_dynamic_runtime
|archive-date = 2008-02-06
|url-status = dead
}}</ref>
==See also==
{{Portal|Free and open-source software}}
* [[Da Vinci Machine]] – a project starting at Sun Microsystems which brought support for dynamic languages to the Java Platform at the Java virtual machine (JVM) level
* [[Parrot virtual machine]]
==References==
{{reflist
{{refbegin}}
*{{cite web | url = http://blogs.msdn.com/somasegar/archive/2007/04/30/mix-07-silverlight-shines-brighter.aspx | title = MIX 07 - Silverlight shines brighter! |
*{{cite web|url=http://sessions.visitmix.com/default.asp?event=1011&session=2012&pid=DEV02&disc=&id=1511&year=2007&search=DEV02 |title=MIX 07 Video Presentation - DEV02 - Just Glue It! Ruby and the DLR in Silverlight |
*{{cite web | url = http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx | title = Jim Hugunin's Thinking Dynamic – A Dynamic language runtime (DLR) |
*{{cite web | url = http://packages.debian.org/source/squeeze/dlr-languages | title = Details of source package dlr-languages in squeeze – DLR in Debian |
*{{cite web | url = http://packages.ubuntu.com/source/lucid/dlr-languages | title = Details of source package dlr-languages in lucid – DLR in Ubuntu |
*{{cite web | url = https://www.facultyresourcecenter.com/curriculum/7224-LangNET-Symposium-2008-–-ox-.aspx | archive-url = https://archive.today/20131208124054/https://www.facultyresourcecenter.com/curriculum/7224-LangNET-Symposium-2008-%E2%80%93-ox-.aspx | url-status = dead | archive-date = 2013-12-08 | title = Pratap Lakshman's o.x the Managed JScript Type System |
{{refend}}
==External links==
{{Wikibooks|.NET Development Foundation}}
*{{Official website|https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/dynamic-language-runtime-overview|Dynamic Language Runtime Overview}}
*{{Github|https://github.com/IronLanguages/dlr}}
{{.NET Framework}}
{{Microsoft FOSS}}
[[Category:.NET terminology]]
[[Category:Free and open-source software]]
[[Category:Microsoft application programming interfaces]]
[[Category:
[[Category:
[[Category:2010 software]]
|