Pregunta

Sé un nombre de módulo de Haskell, pero no puedo averiguar 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.

¿Fue útil?

Solución

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

ghc-pkg find-module Text.Regex

Pero eso solo funciona para (a) GHC recientes, y (b) paquetes instalados en su sistema.

También puede hacer grep a través del archivo del paquete (por ejemplo, /usr/lib/ghc-6.8.2/package.conf) para ver qué está instalado.

También puede utilizar los motores de búsqueda de la API de haskell hoogle o hackage motor de búsqueda hayoo .

Text.Regex está en el paquete regex-base, y algunos otros están construidos sobre él.

Otros consejos

Si está utilizando Cabal y tiene el paquete instalado, puede intentar compilarlo con 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.

Las mejores herramientas son:

Ambos son motores de búsqueda para módulos y funciones de Haskell.

Si está utilizando Debian y los paquetes provistos por Debian, hay un índice de documentación global en /usr/share/doc/ghc-doc/html/libraries/index.html que enumera paquete en la última columna.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top