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:
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.