Какой пакет Haskell содержит данный модуль - PullRequest
13 голосов
/ 27 сентября 2008

Я знаю имя модуля Haskell, но не могу понять, в каком пакете оно определено. Это плохо, потому что я не могу скомпилировать без пакета, выставляющего этот модуль.

В частности, я не могу найти Text.Regex, но мне хотелось бы знать, как решить эту проблему в целом.

Ответы [ 4 ]

14 голосов
/ 27 сентября 2008

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

ghc-pkg find-module Text.Regex

Но это работает только для (a) недавних GHC и (b) пакетов, установленных в вашей системе.

Вы также можете просмотреть файл пакета (например, /usr/lib/ghc-6.8.2/package.conf), чтобы посмотреть, что установлено.

Вы можете также использовать поисковые системы API haskell hoogle или поисковую систему hackage hayoo .

Text.Regex находится в пакете regex-base, и несколько других построено поверх него.

2 голосов
/ 12 мая 2011

Если вы используете Cabal и у вас установлен пакет, вы можете просто попытаться скомпилировать его с помощью cabal build, и Cabal сообщит вам, какой пакет вы забыли добавить в свои зависимости:

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.
1 голос
/ 17 апреля 2011

Лучшие инструменты:

Оба являются поисковыми системами для модулей и функций Haskell.

0 голосов
/ 24 сентября 2011

Если вы используете Debian и пакеты, предоставляемые Debian, существует глобальный индекс документации по адресу /usr/share/doc/ghc-doc/html/libraries/index.html, в котором перечисляется пакет в последнем столбце.

...