我想使用{-# LANGUAGE OverloadedStrings #-}
,但我忘记了它的名称。这种事情不是很好的,而且使用谷歌*也需要一些时间。
是否有某个GHC扩展名列表,因为它们位于LANGUAGE
pragma中?
*我的谷歌搜索旅程:
OverloadedStrings
答案 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用户指南的链接。