我想使用{-# LANGUAGE OverloadedStrings #-}
,但我忘了它是如何调用的。这种事情不是好事,也需要一些时间来寻找使用谷歌*。GHC扩展名列表
是否有某处存在GHC扩展名列表,因为它们在LANGUAGE
编译指示中?
*我的谷歌搜索的搜索之旅:
- 谷歌
- 哈斯克尔在维基百科
- GHC在维基百科
- GHC language features
- Overload string literals
OverloadedStrings
我想使用{-# LANGUAGE OverloadedStrings #-}
,但我忘了它是如何调用的。这种事情不是好事,也需要一些时间来寻找使用谷歌*。GHC扩展名列表
是否有某处存在GHC扩展名列表,因为它们在LANGUAGE
编译指示中?
*我的谷歌搜索的搜索之旅:
OverloadedStrings
the flag reference page的"Language options"部分有一个比语言功能页面更容易浏览的列表。
一旦你在那里Ctrl-F
搜索“超载”可以让你选择你想要的。
ghci的tab-completion知道。在ghci提示符下键入:set -X
,然后点击Tab,你会得到一个完整的列表。或:set -XFoo
然后Tab会给你一个以Foo
开头的所有扩展名列表。
您的回答非常有用,因为它还将我引入':set -X'! – yairchu 2010-06-08 18:42:18
Emacs的ghc-mod在这里找到:http://hackage.haskell.org/package/ghc-mod,包括完成语言扩展。如果您是Emacs用户,我建议您尝试一下。
$ ghc --supported-languages
(从GHC docs)
当使用Leksah IDE,选择套餐菜单,然后编辑包菜单项,然后扩展选项卡还为您提供了一个可检查的列表。做这样的事情的
我哑哈克的方式:
$ man ghc | grep String
-XExtendedDefaultRules -XNoExtendedDefaultRules -XOverloadedStrings
-XNoOverloadedStrings -XGADTs -XNoGADTs -XGADTSyntax -XNoGADTSyntax
的Cabal package提供Language.Haskell.Extension module其中出口一KnownExtension type,其每个构造函数是一个扩展。
每个构造函数的文档简要描述了扩展,并提供了GHC用户指南的链接。
是的,和ghc手册页也不错。总是让我为无人平台上的人感到难过。 – 2010-06-08 15:47:21