使用DLR(主要)进行静态语言编译

8
我正在构建一个针对.NET的编译器,以前我直接生成CIL,但是生成DLR树将使我的生活更加轻松。 我支持一些动态特性,即运行时函数创建和鸭子类型,但绝大部分代码完全是静态的。
现在解释清楚了,我有以下问题:
  • DLR是否已用于静态编译,除了MSDN博客上的小例子之外?
  • 如果是,实现了什么样的性能?
  • 如果没有,是否有任何根本性的阻止因素?
  • 是否有比使用DLR或直接发出IL更好的生成代码机制?
如有任何见解或参考博客/代码/演讲,将不胜感激。
1个回答

7
我不知道是否有人使用DLR来实现这种功能,但这绝对是它预期的用例之一。一个有趣的事情是,DLR的表达式树已经与LINQ表达式树合并,因此在尚未公布的Visual Studio的某个未来版本中,为LINQ生成的IL将使用DLR代码。
发布DLR作为开源的一个好处是,我们不知道公司外的人可能会用它做什么有趣的事情 :).

谢谢您的回复,我已经开始构建一些静态编译原型,所以我们会看到事情的进展如何 :)我要说,我没有预料到会在一个相对较为冷门的网站上得到微软的回应 - 很高兴见到 :) - Serafina Brocious

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