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