15

我知道一个 Haskell 模块名称,但我不知道它是在哪个包中定义的。这很糟糕,因为我无法在没有暴露此模块的包的情况下进行编译。

特别是我找不到的 Text.Regex ,但我想知道如何解决这个问题。

4

4 回答 4

15

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

ghc-pkg 查找模块 Text.Regex

但这仅适用于 (a) 最近的 GHC,和 (b) 安装在您系统上的软件包。

您还可以通过 grep 搜索包文件(例如 /usr/lib/ghc-6.8.2/package.conf)来查看已安装的内容。

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

Text.Regex 位于包 regex-base 中,还有一些其他的构建在它之上。

于 2008-09-26T20:42:07.013 回答
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.
于 2011-05-11T20:47:51.953 回答
1

最好的工具是:

两者都是 Haskell 模块和函数的搜索引擎。

于 2011-04-17T19:24:46.150 回答
0

如果您使用 Debian 和 Debian 提供的软件包,则有一个全局文档索引,在/usr/share/doc/ghc-doc/html/libraries/index.html该索引的最后一列中列出了软件包。

于 2011-09-23T20:45:19.627 回答