问题标签 [language-extension]

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 投票
3 回答
239 浏览

haskell - 在什么情况下 NegativeLiterals 会改变行为?

在描述Haskell的 NegativeLiterals School 时,展示了一个使用语言扩展如何改变某些代码性能的示例,然后说

其他示例实际上可能会改变行为,而不是简单地降低效率

在玩弄了一些扩展之后,我找不到任何这些行为变化的实例。我只能找到他们正在谈论的性能变化以及一些在有和没有扩展时都会出错的程序。

当启用 NegativeLiterals 扩展时,哪些程序会改变它们的行为?

0 投票
3 回答
132 浏览

c# - 如何重复调用函数直到它返回 None?

假设我有 2 个功能

Func<Id, Option<Employee>> FindEmployee

如果找到 ID,则返回员工,否则返回None

Func<Employee, Option<Entry>> PromptPassword

它将打开一个询问密码的对话框,如果点击 OK 按钮,它将返回用户条目;如果取消被击中,它将返回 None

我想有一种优雅的方式来组合这两个功能,基本上我想做:

最终结果是一个选项你看,我想一直提示输入密码,直到用户正确输入。但是在 a 中使用 while 循环Map实在是太难看了。

它必须有更好的方法来写这个。谁能给个提示?

谢谢

0 投票
1 回答
649 浏览

haskell - MultiParamTypeClasses - 为什么这个类型变量不明确?

假设我定义了一个多参数类型类

然后,为了简单起见,我定义了一个使用 的函数decrement

当我尝试在ghci(版本 8.6.3)中加载它时:

这让我感到困惑,因为 of 的类型d正是 的类型decrement,它在类声明中表示。

我想到了以下解决方法:

但这似乎在符号上不方便,而且我也只是想知道为什么我首先会收到此错误消息。

0 投票
2 回答
157 浏览

haskell - 是否有用于启用重载字符文字的 GHC 扩展?

我知道有一个 GHC 扩展,OverloadedStrings它允许字符串文字(由 分隔")变得多态,类似于数字文字的内置行为。

我的问题是:是否有一个 GHC 扩展允许单字符文字(由 分隔')以类似的方式变得多态?

0 投票
0 回答
661 浏览

visual-studio-code - 将 JavaCC 语法定义转换为 VSCode 语法高亮?

我正在使用 Yahoo 的VespaSearchDefinition引擎,该引擎在其配置文件(称为)中涉及特定语法。.jj我可以通过 JavaCC文件访问该配置语言的语法(请参阅在 Vespa 的 Github 上的问题)。我的目标是根据VSC 的文档使用该语法为 VSCode 构建语法高亮扩展。

问题:VSC 用于构建新语法高亮的工具需要类似 TextMate 的语法,而不是类似 JavaCC 的语法。我的问题是:如何将 JavaCC 语法转换为 TextMate 语法?

谢谢 :)

0 投票
0 回答
61 浏览

c++ - 带有 GCC 插件的 C++ 语言/库扩展。可能吗?

我查看了 GCC插件 API和 github 上的一些示例(这些是基本的),但我找不到任何可以帮助我解决我的问题的东西。

假设我有一个新的标准库特性,它不能用现有的 C++ 特性来实现。是否可以使用 GCC 插件实现实验性库功能?

例如,我想通过编译器扩展来实现一个函数,而不是使用额外的 3rdparty 脚本。

因此,必须有一个类型,引用对象t...,并使用某些规则聚合它们的公共方法(比如不允许具有相同签名的多个方法等)。

是否可以通过GCC Plugins的方式实现,还是编译器本身需要修改?


https://stackoverflow.com/a/8144897/9363996这个答案引用了一篇似乎很有用的文章