哪个Haskell包包含给定的模块

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (77)

我知道一个Haskell模块名称,但我无法弄清楚它是在什么包中定义的。这很糟糕,因为如果没有暴露这个模块的包,我就无法编译。

具体来说,我无法找到Text.Regex,但我想知道如何解决这个问题。

提问于
用户回答回答于

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)来查看已安装的内容。

您还可以使用haskell API搜索引擎hooglehackage搜索引擎hayoo

Text.Regex位于regex-base包中,还有一些基于regex-based构建。

用户回答回答于

如果您正在使用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.

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励