Вопрос

Я знаю имя модуля 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.

Лучшими инструментами являются:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top