gpt4 book ai didi

haskell - 如何查找 Haskell 名称的包、版本、文档

转载 作者:行者123 更新时间:2023-12-02 18:36:05 24 4
gpt4 key购买 nike

我的具体问题是这样的:我在一个大型 Haskell 项目的 Module.hs 中遇到了名称 throwT 。我想知道 throwT 是做什么的。我最终设法解决了这个问题,如下:

  1. 为项目启动 ghci
  2. :load Module.hs 后跟 :i throwT
    throwT::Monad m => e -> Control.Monad.Trans.Either.EitherT e m r
    -- 定义在‘Data.EitherR’中
  3. 查询hayoo对于Data.EitherR,它指向包errors
  4. ghc-pkg 列表错误 给出 errors-1.4.7
  5. 浏览 hackage 到该版本错误包的文档:throwT

有没有更好的方法来做到这一点,既更精确(步骤 3 不是),又不那么乏味?

最佳答案

您可以使用ghc-pkg find-module而不是list ,它立即为您提供包含该模块的软件包的已安装版本:

  1. 启动 GHCi
  2. :load YourModule.hs ,得到:info取决于你的值(value)
  3. 使用给定的模块名称 ghc-pkg find-module .
  4. 您现在知道确切的模块、软件包和版本。

这仍然迫使您检查 hackage 文档。但是,如果您添加 documentation: true到你的 cabal 配置或 --enable-documentation , cabal 将在安装给定包的过程中自动构建文档。那么您可以将程序缩短为

  1. 启动 GHCi
  2. :load YourModule.hs ,得到:info取决于你的值(value)
  3. 检查引用模块的本地文档。

本地文档将存储在您的 cabal 目录中,或者,如果您位于沙箱中,则存储在 .cabal-sandbox/share/doc/<plattform>/index.html 中.

关于haskell - 如何查找 Haskell 名称的包、版本、文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32068776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com