opciones - programa en haskell
¿Qué paquete Haskell contiene el módulo dado? (4)
Conozco un nombre de módulo Haskell, pero no puedo determinar en qué paquete está definido. Esto es malo porque no puedo compilar sin un paquete que exponga este módulo.
Específicamente es Text.Regex que no puedo localizar, pero me gustaría saber cómo resolver ese problema en general.
http://www.haskell.org/ghc/docs/latest/html/users_guide/packages.html
ghc-pkg find-module Text.Regex
Pero eso solo funciona para (a) GHCs recientes, y (b) paquetes instalados en su sistema.
También puede grep a través del archivo del paquete (por ejemplo, /usr/lib/ghc-6.8.2/package.conf) para ver lo que está instalado.
También puede usar los motores de búsqueda de API de Haskell, hoogle o el motor de búsqueda de hackage , hayoo .
Text.Regex está en el paquete regex-base, y algunos otros construidos encima.
Si está usando Cabal y tiene el paquete instalado, puede intentar compilarlo con la compilación de cabal build
, y Cabal le informará qué paquete olvidó agregar a sus dependencias:
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.
Si está utilizando Debian y los paquetes proporcionados por Debian, hay un índice de documentación global en /usr/share/doc/ghc-doc/html/libraries/index.html
que enumera el paquete en la última columna.