2008-09-26 13 views
11

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.Qué paquete Haskell contiene el módulo dado

Específicamente es Text.Regex que no puedo localizar, pero me gustaría saber cómo resolver ese problema en general.

Respuesta

11

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

GHC-PKG-hallazgo módulo Text.Regex

Pero eso sólo funciona para (a) GHCs recientes, y (b) los 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 utilizar los motores de búsqueda API de Haskell hoogle o el motor de búsqueda hackagehayoo.

Text.Regex está en el paquete regex-base, y algunos otros se construyeron encima.

+0

Tengo ghc-pkg 6.8.2, y no acepta find-module :( – luntain

+0

Solo pude encontrarlo haciendo clic en algunos de los resultados de hoogle. Por el momento parece que no hay una manera fácil de encontrar esos paquetes. Afortunadamente, la nueva versión de ghc solucionará este problema. – luntain

+0

+1 Hoogle. Es la forma más fácil que he encontrado. La línea de comandos es un poco innecesaria cuando hay una opción de motor de búsqueda perfectamente buena :) (imho) –

1

Las mejores herramientas son:

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

2

Si está utilizando Cabal y tiene instalado el paquete, sólo puede tratar de compilarlo con cabal build, y Cabal se informarles de cuál es el paquete que se olvidó de 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. 
0

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.

Cuestiones relacionadas