Какой пакет Haskell содержит данный модуль
Вопрос
Я знаю имя модуля Haskell, но я не могу понять, в каком пакете оно определено.Это плохо, потому что я не могу скомпилировать без пакета, предоставляющего доступ к этому модулю.
В частности, это Text.Regex, которое я не могу найти, но я хотел бы знать, как решить эту проблему в целом.
Решение
http://www.haskell.org/ghc/docs/latest/html/users_guide/packages.html
ghc-pkg find-текст модуля.Регулярное выражение
Но это работает только для (а) последних GHC и (б) пакетов, установленных в вашей системе.
Вы также можете использовать grep через файл пакета (например/usr/lib/ghc-6.8.2/package.conf), чтобы посмотреть, что установлено.
Вы также можете использовать поисковые системы haskell API хугл или тот взлом поисковая система хайу.
Text.Regex находится в пакете regex-base, и несколько других построены поверх него.
Другие советы
Если вы используете 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.
Если вы используете Debian и предоставляемые Debian пакеты, глобальный индекс документации находится по адресу /usr/share/doc/ghc-doc/html/libraries/index.html
в котором указан пакет в последнем столбце.