Я хотел использовать {-# LANGUAGE OverloadedStrings #-}, но я забыл, как он называется.Подобные вещи не доступны для Google, а также требуется некоторое время на поиск с помощью Google *.
{-# LANGUAGE OverloadedStrings #-}
Есть ли где-нибудь список расширений GHC, названных так, как они есть в прагме LANGUAGE?
LANGUAGE
* Мое поисковое путешествие по поиску:
OverloadedStrings
ghci's tab-complete знает.Введите :set -X в командной строке ghci, затем нажмите Tab, и вы получите полный список.Или :set -XFoo, затем Tab получит список всех расширений, начинающихся с Foo.
:set -X
:set -XFoo
Foo
В разделе "Параметры языка" на странице ссылки флага есть список, который гораздо проще просматривать, чем на странице возможностей языка.
Как только вы окажетесь там, Ctrl-F поиск "перегружен" приведет вас прямо к тому, что вы хотите.
Ctrl-F
$ ghc --supported-languages
(из GHC документы )
При использовании Leksah IDE, выберите меню «Пакет», затем пункт «Редактировать пакет», затем вкладка «Расширение» также предоставляет список для проверки.
GHC-мод для Emacs находится здесь: http://hackage.haskell.org/package/ghc-mod, включает в себя завершение для языковых расширенийЕсли вы пользователь Emacs, я советую вам попробовать.
Мой тупой хакерский способ делать такие вещи:
$ man ghc | grep String -XExtendedDefaultRules -XNoExtendedDefaultRules -XOverloadedStrings -XNoOverloadedStrings -XGADTs -XNoGADTs -XGADTSyntax -XNoGADTSyntax
Пакет Cabal предоставляет модуль Language.Haskell.Extension , который экспортирует тип KnownExtension , каждый конструктор которого является расширением.
Документация каждого конструктора кратко описывает расширение и содержит ссылку на руководство пользователя GHC.