正在生成Haskell模块依赖关系树

nhjlsmyf  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(113)

有没有方法可以生成(和查看)我的Haskell项目的模块依赖树?我看过这样的图,但无法弄清楚它是如何实现的。

lmvvr0a8

lmvvr0a81#

对于Haskell堆栈,可以让stack为依存关系图编写GraphViz点文件,其中包含:

stack dot --external

--external标志意味着它将包含堆栈项目中未定义的依赖项。例如,您可以使用I/O重定向将其写入文件,其中包含:

stack dot --external > deps.dot

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

dot -Tpng deps.dot -odeps.png

您也可以使用-Tsvg-Tgif等来选取另一种图像格式。
如需详细信息,请参阅dependency visualization section of the documentation

kyvafyod

kyvafyod2#

您可以使用yav/graphmod获得项目模块的图形:

cabal install graphmod

项目中的:

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

您可以使用~/.cabal/bin/graphmod --help查看更多选项,使用选项将输出格式更改为dot,并查看examples here

相关问题