生成 Haskell 模块依赖树

Pet*_*lys 5 haskell

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

Wil*_*sem 4

对于 Haskell 堆栈,您可以使用以下命令stack为依赖图编写 GraphViz 点文件:

stack dot --external
Run Code Online (Sandbox Code Playgroud)

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

stack dot --external > deps.dot
Run Code Online (Sandbox Code Playgroud)

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

dot -Tpng deps.dot -odeps.png
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参阅文档的依赖关系可视化部分。