问题标签 [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 投票
2 回答
297 浏览

.net - IronRuby - .NET 4.0 - 方法名称末尾的问号和感叹号

只是好奇.NET 4.0 CLR 世界将如何调用以问号和感叹号结尾的方法?从 C# 或 VB.NET 调用的语法是什么样的?

0 投票
1 回答
1358 浏览

compiler-construction - 学习如何为 .NET 框架创建编译器/解释器的资源

我想了解更多如何为 .NET 框架创建语言。我想我想构建一种 DLR 语言。我很难找到好的资源。我在MSDN上找到了一篇一年多前写的血统文章。我还花了几个小时查看 IronPython 源代码。

您能否分享您在此主题上的资源。

谢谢

0 投票
1 回答
1281 浏览

c# - 在 C# 应用程序中嵌入 IronScheme

我正在尝试向我的 C# 应用程序添加插件架构。我选择IronScheme作为语言,也是因为它建立在 DLR 之上,应该更容易嵌入。

在 Codeplex Wiki 上,他们有以下示例。我稍微改了一下:

(这基本上执行为new PluggerInner().RunPlugins()

它在目录中找到了我的示例.ss文件(是的,我知道我不应该使用../..),但是在这一行抛出了一个巨大的错误:

我得到的例外是:

我的示例方案代码:

我不知道异常实际上在说什么,因为它没有 InnerException。

0 投票
1 回答
882 浏览

f# - 将小型表达式 DSL 基于 DLR 还是在 F# 中手动滚动?

我正在构建一个类似电子表格的应用程序,其中许多小计算需要以树状结构拼接在一起。这些计算是用户定义的,我需要一种方法让用户在运行时输入它们。

我目前的方法是在 F# 中编写一个小的“表达式 DSL”,在其中我使用 FParsec 解析输入,基于可区分联合构建语法树,然后可以评估表达式。这工作得很好。

但是,我正在考虑以 DLR 为基础的语言。沿着这条路走下去有什么好处吗(解析输入,使用 Scripting.AST 而不是我自己的东西生成 AST,让 DLR 处理计算的执行)?

每个计算可能会非常小。计算之间的依赖关系将在更高级别上得到处理。

由于 DLR 将为表达式生成 CIL 代码,我是否可以期待更好的性能,或者开销会吃掉它吗?

(至于使用像 IronPython 这样的现有语言,这可能会很困难,因为我打算在语言语法中添加很多切片和切块运算符和维度处理的东西)

0 投票
2 回答
345 浏览

.net - 在 DLR 中避免不必要的装箱

我正在玩 DLR 以更好地理解它。我还不完全熟悉它的所有概念和术语,因此对我的问题中的任何术语或概念错误感到抱歉。

基本上,我理解的方式是在表达式树中传递对象,但使用绑定器将对象的动态功能公开给其他支持 DLR 的语言。因此,不是直接在表达式树中进行添加(例如,使用 Expression.Add),而是创建一个绑定器,调用站点在需要时调用该绑定器并为您执行添加。

但是,由于您传递对象,因此在加法操作结束时(例如,如果操作数是两个 Int32 值),您将不得不将生成的 Int32 装箱到一个对象,因为(仍在活页夹中)调用什么网站预计。我有点担心这种不断的装箱/拆箱可能会在一定程度上影响运行时的性能。

这真的是它应该如何工作(所有装箱/拆箱)还是我错过了什么?

0 投票
1 回答
1233 浏览

c# - 使用基于 DLR 的语言而不是 C# 来执行脚本任务的原因是什么?

我正在考虑将脚本语言嵌入到我的一个软件项目中,并确定了两个选项:在运行时通过 CodeDOM 编译 C# 和嵌入基于 DLR 的脚本语言。这两个选项都可以让我完全访问 .NET Framework。

我将编写脚本的操作将是用户定义的 DataRow 转换和一组元数据,从而导致修改后的 DataRow。我希望这些转换将是可组合的并且经常被调用。当然,我希望最终用户可以提供和修改这些转换。

考虑到这种工作量,使用一种方法比另一种方法有什么明显的优势吗?

0 投票
1 回答
57 浏览

.net - DLR DefaultBinder 可用于 Silverlight?

我想在 Silverlight 部署的 DLR 项目(我自己的自定义语言实现)中使用 Codeplex DefaultBinder。

那可能吗?DefaultBinder 是否与 Silverlight 3 和/或 4 兼容?

0 投票
1 回答
580 浏览

.net - 如何在 VS2008 中实现对自定义 DLR 语言的智能感知支持?

我刚刚开始为 .NET DLR 编写我的第一语言。

我想知道是否可以扩展 Visual Studio 2008 IntelliSense 来处理自定义 DLR 语言的语法?

编辑:我决定绕过 VS2008 而以 VS2010 为目标。有关更多信息,请参阅接受的答案。

0 投票
2 回答
639 浏览

.net - IronRuby 和处理 XAML UI 事件

通过 IronRuby 脚本向 XAML 中的 UI 元素添加事件处理程序的最简洁的方法是什么?假设:添加事件处理程序的代码将在 IronRuby 脚本中编写,而处理事件的代码将在同一个 IronRuby 脚本中。

我想要以下代码的等价物,但在 IronRuby 中。处理一个简单的 button1 点击事件。

0 投票
4 回答
1500 浏览

.net - IL / CLR / DLR 参考?

我想了解更多有关 IL 和 CLR / DLR 的信息。我的一个朋友推荐了《Inside Microsoft .NET IL Assembler》一书,但自从它于 2002 年出版以来,我担心它现在已经过时了。

有没有人有更多最新的书籍或网站可供了解 .NET 语言的人使用,以了解有关 IL 和 CLR 的内部工作原理的更多信息?