DLR是如何工作的?

8

.Net 4将拥有DLR(动态语言运行时)。我知道它将用于像Iron Python和Iron Ruby这样的东西。但是它还能做什么呢?

DLR有什么用处?

DLR是如何工作的?


5
请访问以下链接以了解伦敦轻轨道(Docklands Light Railway)的相关信息:http://en.wikipedia.org/wiki/Docklands_Light_Railway - Colin Pickard
2
如果是轻轨道交通系统(DLR),那么和伦敦其他火车一样,速度缓慢且不可靠。 - cgreeno
2个回答

8

DLR是建立在CLR之上的动态语言运行时,它有助于开发人员更轻松地构建动态语言,实现动态语言与CLR以及使用DLR构建的动态语言之间的兼容性。

由于DLR是建立在CLR之上的,因此您可以访问其他.NET库。多语言支持使您能够选择适合特定任务的语言。DLR允许开发人员更轻松地创建自己的动态语言 (我认为这是许多开发人员的梦想)。

它通过使用动态代码生成(运行时代码生成)动态类型系统(在运行时更改类型并允许DLR语言具有共同的通信平台)动态方法分派(动态分派能够在运行时动态更改执行某个方法的代码)来工作。

基本上,DLR根据表达式树动态生成代码。表达式树是被发送到DLR进行编译和运行的操作列表。

我认为DLR将是一个改变游戏规则的技术。在DLR发布之后,我认为您将看到许多新语言的涌现以及现有语言的更多端口。


3
动态代码生成是指在运行时生成代码,而不是编译时。 - leppie

2
除了作为“动态语言的CLR桥梁”之外,DLR还有一个有趣的用途,就是作为“(可能)任何结构化逻辑序列表示的CLR桥梁”。
换句话说……“动态语言”可以是Visio流程图、XML文档、存储在数据库中的数据等。DLR提供了从结构化数据到可执行代码的映射工具。DLR和WF之间存在重叠……很好奇它们将如何发挥作用。
如果考虑到Oslo所做的事情(提供工具来将结构层叠到否则非结构化的“数据”上),你就能看出这一切的发展方向。在未来几年中,Oslo + DLR可能会成为一个非常重要的问题。
当然,我们中的一些人并不只是坐等它自己发生。;-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接