在哪里可以找到所有 GHC 扩展的列表
我想使用 {-# LANGUAGE OverloadedStrings #-}
但我忘记了它是如何调用的。这种东西是无法通过 hoogle 找到的,而且使用 google* 也需要一些时间才能找到。
是否有按 LANGUAGE
pragma 中的名称命名的 GHC 扩展列表?
* 我的谷歌搜索之旅:
I wanted to use {-# LANGUAGE OverloadedStrings #-}
but I forgot how it's called. This kind of thing isn't hoogle-able, and also it takes some time finding using google*.
Is there somewhere a list of GHC extensions named as they are in the LANGUAGE
pragma?
* My googling search journey:
- Haskell at wikipedia
- GHC at wikipedia
- GHC language features
- Overload string literals
OverloadedStrings
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
Cabal 包 提供了 Language.Haskell.Extension 模块 导出 KnownExtension 类型,其每个构造函数都是一个扩展。
每个构造函数的文档简要描述了扩展并提供了 GHC 用户指南的链接。
The Cabal package provides a Language.Haskell.Extension module which exports a KnownExtension type whose each constructor is an extension.
The documentation of each constructor briefly describes the extension and provides a link to the GHC user guide.
ghci 的制表符补全功能知道。在 ghci 提示符处输入
:set -X
,然后按 Tab 键,您将获得完整列表。或者:set -XFoo
然后 Tab 将为您提供以Foo
开头的所有扩展名的列表。ghci's tab-completion knows. Type
:set -X
at a ghci prompt, then hit Tab, and you'll get a full list. Or:set -XFoo
then Tab will get you a list of all extensions beginning withFoo
.“语言选项” 标志参考页面的部分有比语言功能页面更容易浏览的列表。
到达那里后,
Ctrl-F
搜索“overloaded”即可找到您想要的内容。The "Language options" section of the flag reference page has a list that's much more easily browseable than the language features page.
Once you're there a
Ctrl-F
search for "overloaded" takes you right to what you want.(来自 GHC 文档)
(from GHC docs)
使用 Leksah IDE 时,选择“Package”菜单,然后选择“Edit Package”菜单项,然后“Extension”选项卡还会为您提供一个可检查的选项列表。
When using Leksah IDE, selecting Package menu, then Edit Package menu item, then Extension tab also gives you a checkable list.
Emacs 的 ghc-mod 在这里找到: http://hackage.haskell.org/package/ghc- mod,包括语言扩展的完成。如果你是 Emacs 用户,我建议你尝试一下。
ghc-mod for Emacs found here: http://hackage.haskell.org/package/ghc-mod, includes completion for language extensions. If you are an Emacs user, I suggest you to try it.
我做这些事情的愚蠢的黑客方式:
My dumb hacky way of doing such things: