Où puis-je trouver une liste de toutes les extensions GHC

Je voulais utiliser {-# LANGUAGE OverloadedSsortingngs #-} mais j’ai oublié comment ça s’appelle. Ce genre de chose n’est pas compatible avec Google, et il faut aussi du temps pour trouver Google.

Existe-t-il une liste des extensions GHC nommées dans le pragma LANGUAGE ?

* Mon parcours de recherche sur Google:

  • Google
  • Haskell chez wikipedia
  • GHC à Wikipédia
  • Caractéristiques du langage GHC
  • Surcharge des littéraux de chaîne
  • OverloadedSsortingngs

La section “Options de langue” de la page de référence de l’indicateur comporte une liste beaucoup plus facilement consultable que la page des fonctionnalités de la langue.

Une fois que vous y êtes, une recherche Ctrl-F pour “surchargé” vous amène directement à ce que vous voulez.

L’achèvement de tabulation de ghci le sait. Tapez :set -X à l’invite ghci, puis cliquez sur Tab et vous obtiendrez une liste complète. Ou :set -XFoo puis Tab vous donnera une liste de toutes les extensions commençant par Foo .

 $ ghc --supported-languages 

(extrait de docs GHC )

Lorsque vous utilisez l’ IDE Leksah , sélectionnez le menu Package, puis l’option de menu Modifier le package, puis l’onglet Extension pour afficher également une liste.

ghc-mod pour Emacs trouvé ici: http://hackage.haskell.org/package/ghc-mod , comprend l’achèvement des extensions de langue. Si vous êtes un utilisateur d’Emacs, je vous suggère de l’essayer.

Ma façon idiote de faire de telles choses:

 $ man ghc | grep Ssortingng -XExtendedDefaultRules -XNoExtendedDefaultRules -XOverloadedSsortingngs -XNoOverloadedSsortingngs -XGADTs -XNoGADTs -XGADTSyntax -XNoGADTSyntax 

Le package Cabal fournit un module Language.Haskell.Extension qui exporte un type KnownExtension dont chaque constructeur est une extension.

La documentation de chaque constructeur décrit brièvement l’extension et fournit un lien vers le guide de l’utilisateur du GHC.