我在哪里可以找到所有GHC扩展的列表

时间:2010-06-08 14:51:32

标签: haskell ghc

我想使用{-# LANGUAGE OverloadedStrings #-},但我忘记了它的名称。这种事情不是很好的,而且使用谷歌*也需要一些时间。

是否有某个GHC扩展名列表,因为它们位于LANGUAGE pragma中?

*我的谷歌搜索旅程:

7 个答案:

答案 0 :(得分:29)

ghci的tab-completion知道。在ghci提示符下键入:set -X,然后按Tab键,您将获得完整列表。或者:set -XFoo然后标签会为您提供以Foo开头的所有扩展程序列表。

答案 1 :(得分:26)

"Language options"the flag reference page部分有一个比语言功能页面更容易浏览的列表。

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

答案 2 :(得分:20)

$ ghc --supported-languages

(来自GHC docs

答案 3 :(得分:3)

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

答案 4 :(得分:3)

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

答案 5 :(得分:2)

我愚蠢的做事的方式:

$ man ghc | grep String
       -XExtendedDefaultRules   -XNoExtendedDefaultRules   -XOverloadedStrings
       -XNoOverloadedStrings  -XGADTs -XNoGADTs   -XGADTSyntax  -XNoGADTSyntax

答案 6 :(得分:1)

Cabal package提供Language.Haskell.Extension module,导出KnownExtension type,其每个构造函数都是扩展名。

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