问题标签 [dynamic-language-runtime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1222 浏览

.net - 哪种 Dynamic .NET 语言更适合学习,Iron Ruby 还是 Iron Python?

我想花一些时间来了解更多关于基于 DLR 构建的动态语言的信息,但我不确定哪种语言更适合学习。

时间有限,我真的只有时间看看学习其中之一。

从长远来看,对于两者(Iron Ruby 或 Iron Python)中的哪一个更有用有什么意见吗?

0 投票
1 回答
605 浏览

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

我正在构建一个面向 .NET 的编译器,并且我之前直接生成了 CIL,但是生成 DLR 树将使我的生活变得更加轻松。我支持一些动态特性,即运行时函数创建和鸭式,但绝大多数代码是完全静态的。

既然已经解释了,我有以下问题:

  • 除了 MSDN 博客上的小示例之外,DLR 是否已用于静态编译?
  • 如果是这样,实现了什么样的性能?
  • 如果没有,有什么从根本上阻止这种情况吗?
  • 有没有比使用 DLR 或直接发出 IL 更好的代码生成机制?

对此的任何见解或对博客/代码/谈话的引用将不胜感激。

0 投票
3 回答
5296 浏览

clr - .Net 4.0 将包含新的 CLR 还是保留 2.0 版

.Net 4.0 会使用新版本的 CLR(v2.1、3.0)还是会继续使用现有的 v2.0?

补充:是否有可能继续使用 CLR v2.0 并添加 DLR v1.0?

更新:虽然这看起来像是一个无法回答的推测性问题,但 VS 团队似乎正在发布越来越多的关于 VS10 和 .Net 4.0 的信息,因此可能很快就不是这样了。(此处提供信息-> http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx

0 投票
1 回答
240 浏览

.net - DLR 是否能够编译客户端代码?

DLR 是专门用于在分发之前编译代码,还是可能用于以 JIT 方式编译客户端 Javascript?

0 投票
2 回答
1996 浏览

c# - 在我的 C# 应用程序中嵌入 IronPython 的最佳方式是什么?

我有一个非常精通技术的人使用的应用程序,他们想要小岛的可编程性,所以我使用了嵌入式 Iron Python。

但是,由于 IronPython 2.0 Eval() 不再起作用。具体来说,我不能既加载模块又注入局部变量。

有一种解决方法,我仍然可以调用 Execute(),打印出我的答案并收听 StandardOut,但随后它以字符串形式出现,我丢失了类型。

不是长久的灾难,而是更复杂的对象的巨大痛苦。

有谁知道如何让 Eval() 像在 1.x 中一样在 2.0 中再次工作?

干杯,简

0 投票
5 回答
5110 浏览

dynamic - 你如何实现 C#4 的 IDynamicObject 接口?

要在 C# 4.0 中实现“方法缺失”语义等,您必须实现 IDynamicObject:

据我所知,IDynamicObject 实际上是 DLR 的一部分,所以它不是新的。但是我还没有找到很多关于它的文档。

那里有一些非常简单的示例实现(fx herehere),但是谁能指出我更完整的实现或一些真实的文档?

特别是,您应该如何处理“参数”参数?

0 投票
4 回答
1361 浏览

.net - LINQ 表达式树图灵完备吗?

正如他们在.Net 3.5中一样。我知道它们在 4.0 中,因为这就是 DLR 的工作方式,但我对我们现在拥有的版本感兴趣。

0 投票
3 回答
921 浏览

visual-studio-2010 - 我可以在 C# 4 中实现 method_missing 并让它实际返回一个值吗?

我试图根据 IDynamicObject 上浮动的所有 2 篇博客文章来弄清楚如何在 C# 4 中实现 method_missing。

我想要做的是有一个具有存储库的业务逻辑层,如果业务逻辑层缺少该方法,只需调用存储库并传递其结果。所以我有一个看起来像这样的类:

在 RepositoryMetaObect 中,我实现了 Call 方法,如下所示:

(RepositoryMetaObject 的其余代码可能并不有趣,但我已将其包含在此处: http: //pastie.org/312842

我认为的问题是我从来没有对调用的结果做任何事情,我只是返回 MetaObject 本身。

现在当我这样做时:

调用 GetByID,但如果我尝试访问 myCustomer 上的属性,则只是挂起。

有人可以帮忙吗?

完整代码可以在ehre下载:https ://dl.getdropbox.com/u/277640/BusinessLogicLayer.zip

0 投票
1 回答
477 浏览

c#-4.0 - IDynamicObject 实现忽略多个属性调用

我在 C# 4 中实现了 IDynamicObject,返回一个自定义 MetaObject 子类,该子类将简单的属性 getter/setter 分派到 Dictionary。不是火箭科学。

如果我这样做:

然后 'Joe' 被打印到控制台……第二次调用 'Name' setter 永远不会被调用(永远不会进入我的自定义调度程序代码)。

我知道 DLR 会进行呼叫站点缓存,但我认为这不适用于这里。有谁知道发生了什么?

0 投票
3 回答
768 浏览

.net - 通过 DLR 托管 VBx 语言?

有各种示例可用于在您自己的 AppDomain 中托管在 DLR 上运行的 Python 或 Ruby。

你能用VB做到这一点吗?自从 18 个月前宣布 DLR 以来,已经有人提到了这一点,但我找不到它的代码示例。

也许使用 PDC VS10 CTP?如果是这样,哪个程序集包含适当的 VBx 子类化 ScriptRuntime?

如果这还不可能,任何 MSFT 可以向我们提供有关何时我们可能会看到一些位的更新信息吗?