如何查找 Haskell 名称的包、版本、文档
How to find package, version, documentation for a Haskell name
我的具体问题是:我在一个大的Haskell 项目中运行 在Module.hs
中跨过名称throwT
。我想知道 throwT
的作用。我最终设法解决了这个问题,如下所示:
- 为项目启动 ghci
:load Module.hs
后跟 :i throwT
throwT :: Monad m => e -> Control.Monad.Trans.Either.EitherT e m r
-- Defined in ‘Data.EitherR’
- 查询 hayoo for
Data.EitherR
,它指向包 errors
ghc-pkg list errors
给出 errors-1.4.7
- 浏览 hackage 到该版本错误包的文档:throwT
有没有更好的方法来做到这一点,既更精确(第 3 步不是),又不那么乏味?
理想情况下,每个模块都显式导入它使用的每个函数。假设在Module.hs
中使用了throwT
,但没有在其中定义,首先要检查的是Module.hs
顶部是否有显式导入函数的导入语句,它看起来像 import Some-Module (throwT, someOtherFunction, possiblyAnotherFunction)
,其中 Some-Module
是被导入的模块,括号内的函数是唯一从该模块导入的东西(这就是显式导入)。然后你会找到 Some-Module
并寻找 throwT
.
的定义
您可以使用 ghc-pkg find-module
而不是 list
,它会立即为您提供包含该模块的软件包的安装版本:
- 启动 GHCi
:load YourModule.hs
,获得 :info
您的价值
- 将给定的模块名称与
ghc-pkg find-module
一起使用。
- 您现在知道确切的模块、包和版本。
这仍然会迫使您查看黑客攻击文档。但是,如果您将 documentation: true
添加到您的 cabal 配置或 --enable-documentation
,cabal 将在给定软件包的安装过程中自动构建文档。那么你可以将程序缩短为
- 启动 GHCi
:load YourModule.hs
,获得 :info
您的价值
- 查看您当地的参考资料模块文档。
本地文档将存储在您的 cabal 目录中,或者,如果您在沙箱中,则存储在 .cabal-sandbox/share/doc/<plattform>/index.html
。
我的具体问题是:我在一个大的Haskell 项目中运行 在Module.hs
中跨过名称throwT
。我想知道 throwT
的作用。我最终设法解决了这个问题,如下所示:
- 为项目启动 ghci
:load Module.hs
后跟:i throwT
throwT :: Monad m => e -> Control.Monad.Trans.Either.EitherT e m r -- Defined in ‘Data.EitherR’
- 查询 hayoo for
Data.EitherR
,它指向包errors
ghc-pkg list errors
给出errors-1.4.7
- 浏览 hackage 到该版本错误包的文档:throwT
有没有更好的方法来做到这一点,既更精确(第 3 步不是),又不那么乏味?
理想情况下,每个模块都显式导入它使用的每个函数。假设在Module.hs
中使用了throwT
,但没有在其中定义,首先要检查的是Module.hs
顶部是否有显式导入函数的导入语句,它看起来像 import Some-Module (throwT, someOtherFunction, possiblyAnotherFunction)
,其中 Some-Module
是被导入的模块,括号内的函数是唯一从该模块导入的东西(这就是显式导入)。然后你会找到 Some-Module
并寻找 throwT
.
您可以使用 ghc-pkg find-module
而不是 list
,它会立即为您提供包含该模块的软件包的安装版本:
- 启动 GHCi
:load YourModule.hs
,获得:info
您的价值- 将给定的模块名称与
ghc-pkg find-module
一起使用。 - 您现在知道确切的模块、包和版本。
这仍然会迫使您查看黑客攻击文档。但是,如果您将 documentation: true
添加到您的 cabal 配置或 --enable-documentation
,cabal 将在给定软件包的安装过程中自动构建文档。那么你可以将程序缩短为
- 启动 GHCi
:load YourModule.hs
,获得:info
您的价值- 查看您当地的参考资料模块文档。
本地文档将存储在您的 cabal 目录中,或者,如果您在沙箱中,则存储在 .cabal-sandbox/share/doc/<plattform>/index.html
。