我想用{-# LANGUAGE OverloadedStrings #-}
,但我忘了它是怎么叫的。这种事情是不能胡扯的,而且使用 google* 查找也需要一些时间。
是否有在LANGUAGE
编译指示中命名的 GHC 扩展列表?
* 我的谷歌搜索之旅:
ghci 的制表符补全知道。在 ghci 提示符下键入:set -X
,然后按 Tab,您将获得完整列表。或者:set -XFoo
,Tab 将为您提供以 . 开头的所有扩展名的列表Foo
。
$ ghc --supported-languages
(来自GHC 文档)
在这里找到 Emacs 的 ghc-mod:http: //hackage.haskell.org/package/ghc-mod,包括语言扩展的完成。如果你是 Emacs 用户,我建议你尝试一下。
使用Leksah IDE 时,选择 Package 菜单,然后选择 Edit Package 菜单项,然后 Extension 选项卡也会为您提供一个可检查的列表。
我做这些事情的愚蠢的hacky方式:
$ man ghc | grep String
-XExtendedDefaultRules -XNoExtendedDefaultRules -XOverloadedStrings
-XNoOverloadedStrings -XGADTs -XNoGADTs -XGADTSyntax -XNoGADTSyntax
Cabal 包提供了一个Language.Haskell.Extension 模块,该模块导出一个KnownExtension 类型,其每个构造函数都是一个扩展。
每个构造函数的文档简要描述了扩展并提供了 GHC 用户指南的链接。