是否有任何Haskell特定工具可以显示导入模块的源代码?

时间:2014-02-01 14:04:26

标签: haskell ide cabal

如何在没有互联网连接的情况下浏览Haskell源代码?现在我点击hackage搜索结果,点击源链接并搜索源页面。有两个问题:

  • 我正在使用当前版本作为我本地的代理
  • 这不能很好地递归(另一次点击并搜索下一个定义)

通常,IDE允许您下载任何库的源代码并打开带有定义的新编辑器选项卡。我更喜欢阅读代码而不是文档,一路上没有什么惊喜,我可以从中学到一些东西。

那么,如何在必要时使用Haskell工具或标准GNU工具设置递归源搜索?我现在所知道的是,我可以为vim生成ctags但是cabal商店的来源是什么?

1 个答案:

答案 0 :(得分:4)

这是我所遵循的固定工作流程,用于在启用源链接的情况下呈现文档。

$ cd <package-name>
$ cabal sandbox init
$ cabal install --only-dependencies --enable-documentation --haddock-hyperlink-source
$ cabal configure --enable-documentation --haddock-hyperlink-source
$ cabal haddock --hyperlink-source
$ firefox dist/doc/html/<package-name>/index.html

应为所有软件包启用Source链接,包括依赖项,只要它们安装在沙箱中即可。

在我使用的发行版Arch Linux的特定情况下,我尝试避免通过pacman安装Haskell系统包,因为默认情况下,文档不是在启用源链接的情况下构建的。在Arch Linux中,您可以使用ABS并使用上述参数修改PKGBUILD。我很确定在其他发行版中可以做类似的事情,但不了解Windows或Mac OS X.

还值得一提的是,每次运行cabal时都不需要输入这些参数。您可以在.cabal/config

中默认启用它们

这应该可以在没有沙盒的情况下工作但是如果你正在处理多个Haskell项目,我强烈建议使用沙箱。