生成Haskell模块依赖树。

5

有没有一种方法可以生成(和查看)我Haskell项目的模块依赖树?我已经看过了这些图像,但无法弄清楚如何做到这一点。


使用Haskell-stack时,可以使用stack dot --external命令。 - Willem Van Onsem
1
这个回答解决了你的问题吗?如何为cabal项目显示依赖树 - alias
2个回答

3
对于Haskell Stack,您可以使用以下命令让stack生成依赖图的GraphViz dot文件:
stack <strong>dot</strong> --external
--external 标志表示它将包括未在您的堆栈项目中定义的依赖项。例如,您可以使用I/O重定向将其写入文件中:
stack dot --external <strong>> deps.dot</strong>

然后使用dot作为工具将其转换为图像,例如:

dot -Tpng deps.dot -odeps.png

您还可以使用-Tsvg-Tgif等选项选择其他图像格式。

更多信息请参见文档中的依赖关系可视化部分


这显示了外部包依赖关系的图表,而不是项目模块及其相互依赖关系的图表。 - avh4

2
你可以使用 yav/graphmod 生成项目模块的图表:
cabal install graphmod

在您的项目中:

~/.cabal/bin/graphmod | dot -Tpng > modules.png

你可以通过 ~/.cabal/bin/graphmod --help 查看更多选项,使用dot选项更改输出格式,并在这里查看示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接