38

我想用{-# LANGUAGE OverloadedStrings #-},但我忘了它是怎么叫的。这种事情是不能胡扯的,而且使用 google* 查找也需要一些时间。

是否有在LANGUAGE编译指示中命名的 GHC 扩展列表?

* 我的谷歌搜索之旅:

4

7 回答 7

29

ghci 的制表符补全知道。在 ghci 提示符下键入:set -X,然后按 Tab,您将获得完整列表。或者:set -XFoo,Tab 将为您提供以 . 开头的所有扩展名的列表Foo

于 2010-06-08T15:37:25.243 回答
25

标志参考页面“语言选项”部分有一个比语言功能页面更容易浏览的列表。

一旦你在那里Ctrl-F搜索“超载”,你就会找到你想要的东西。

于 2010-06-08T15:03:14.847 回答
22
$ ghc --supported-languages

(来自GHC 文档

于 2010-06-09T09:40:10.657 回答
3

在这里找到 Emacs 的 ghc-mod:http: //hackage.haskell.org/package/ghc-mod,包括语言扩展的完成。如果你是 Emacs 用户,我建议你尝试一下。

于 2010-06-08T18:36:43.033 回答
3

使用Leksah IDE 时,选择 Package 菜单,然后选择 Edit Package 菜单项,然后 Extension 选项卡也会为您提供一个可检查的列表。

于 2010-06-18T00:37:07.770 回答
2

我做这些事情的愚蠢的hacky方式:

$ man ghc | grep String
       -XExtendedDefaultRules   -XNoExtendedDefaultRules   -XOverloadedStrings
       -XNoOverloadedStrings  -XGADTs -XNoGADTs   -XGADTSyntax  -XNoGADTSyntax
于 2013-03-11T18:39:11.340 回答
1

Cabal 包提供了一个Language.Haskell.Extension 模块,该模块导出一个KnownExtension 类型,其每个构造函数都是一个扩展。

每个构造函数的文档简要描述了扩展并提供了 GHC 用户指南的链接。

于 2017-12-17T23:35:12.243 回答