Подтвердить что ты не робот

Список расширений GHC

Я хотел использовать {-# LANGUAGE OverloadedStrings #-}, но я забыл, как он называется. Подобная вещь не является hoogle-способной, а также требуется некоторое время для поиска с помощью google *.

Есть ли где-то список расширений GHC, названных так, как они находятся в LANGUAGE pragma?

* Моя поисковая поездка по поиску в поисковых системах:

4b9b3361

Ответ 1

"Параметры языка" в разделе страница с описанием флага имеет список, который намного легче просматривается, чем страница с языковыми функциями.

Как только вы там Ctrl-F поиск "перегружен", вы попадаете в нужное вам положение.

Ответ 2

ghci tab-completion знает. Введите :set -X в командной строке ghci, затем нажмите Tab, и вы получите полный список. Или :set -XFoo, тогда Tab отобразит список всех расширений, начинающихся с Foo.

Ответ 4

ghc-mod для Emacs, найденный здесь: http://hackage.haskell.org/package/ghc-mod, включает в себя завершение для языковых расширений. Если вы являетесь пользователем Emacs, я предлагаю вам попробовать его.

Ответ 5

При использовании Leksah IDE, выбрав меню "Пакет", затем "Изменить пакет", затем вкладка "Расширение" также дает список с возможностью проверки.

Ответ 6

Мой немой хакерский способ делать такие вещи:

$ man ghc | grep String
       -XExtendedDefaultRules   -XNoExtendedDefaultRules   -XOverloadedStrings
       -XNoOverloadedStrings  -XGADTs -XNoGADTs   -XGADTSyntax  -XNoGADTSyntax

Ответ 7

Cabal package предоставляет Language.Haskell.Extension module, который экспортирует KnownExtension type, каждый из которых является расширением.

Документация каждого конструктора кратко описывает расширение и предоставляет ссылку на руководство пользователя GHC.