Question

Je connais un nom de module Haskell, mais je ne sais pas dans quel package il est défini. C’est grave parce que je ne peux pas compiler sans package exposant ce module.

C'est précisément Text.Regex que je ne parviens pas à localiser, mais j'aimerais savoir comment résoudre ce problème en général.

Était-ce utile?

La solution

http://www.haskell.org/ghc/ docs / latest / html / users_guide / packages.html

ghc-pkg find-module Text.Regex

Mais cela ne fonctionne que pour (a) les GHC récents et (b) les packages installés sur votre système.

Vous pouvez également passer par le fichier de package (par exemple, /usr/lib/ghc-6.8.2/package.conf) pour voir ce qui est installé.

Vous pouvez également utiliser les moteurs de recherche de l'API haskell hoogle ou le hackage du moteur de recherche hayoo .

Text.Regex est dans le paquet regex-base, et quelques autres construits dessus.

Autres conseils

Si vous utilisez Cabal et que le paquet est installé, essayez simplement de le compiler avec cabal build , et Cabal vous informera du paquet que vous avez oublié d'ajouter à vos dépendances:

Main.hs:1:8:
    Could not find module `Text.Regex':
      It is a member of the hidden package `regex-compat-0.93.1'.
      Perhaps you need to add `regex-compat' to the build-depends in your .cabal file.
      Use -v to see a list of the files searched for.

Les meilleurs outils sont:

Les deux sont des moteurs de recherche pour les modules et fonctions Haskell.

Si vous utilisez Debian et les paquets fournis par Debian, un index de la documentation globale situé à /usr/share/doc/ghc-doc/html/libraries/index.html répertorie les package dans la dernière colonne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top