Где я могу найти список всех расширений GHC - PullRequest
38 голосов
/ 08 июня 2010

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

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

* Мое поисковое путешествие по поиску:

Ответы [ 7 ]

29 голосов
/ 08 июня 2010

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

26 голосов
/ 08 июня 2010

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

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

20 голосов
/ 09 июня 2010
$ ghc --supported-languages

(из GHC документы )

3 голосов
/ 18 июня 2010

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

3 голосов
/ 08 июня 2010

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

2 голосов
/ 11 марта 2013

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

$ man ghc | grep String
       -XExtendedDefaultRules   -XNoExtendedDefaultRules   -XOverloadedStrings
       -XNoOverloadedStrings  -XGADTs -XNoGADTs   -XGADTSyntax  -XNoGADTSyntax
1 голос
/ 18 декабря 2017

Пакет Cabal предоставляет модуль Language.Haskell.Extension , который экспортирует тип KnownExtension , каждый конструктор которого является расширением.

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

...