7

如果我cabal build在我的库上做 a ,然后更改一个文件,下次我运行时cabal build,我只需要重新编译受更改影响的文件。我没有得到与cabal haddock命令相同的行为:当我在更改文件后运行它时,cabal/haddock 最终会丢弃所有以前的工作并从头开始。这相当耗时;有没有办法对文档进行差异更新?

这是生成文档的命令 cabal 问题的转储。

4

1 回答 1

1

processModules文档说:

通过使用 GHC API 对模块列表进行类型检查并处理生成的语法树来创建接口和链接环境。

而这就是它的核心功能haddock。所以 ATM 你的问题的答案是否定的。

cabal build根本没有帮助cabal haddock,因为haddock类型检查具有不同参数的模块(例如__HADDOCK__启用 CPP 变量)

制作可靠的增量黑线鳕生成是很困难的,因为依赖图中后面的代码可以更改之前的模块文档:特别是实例列表。可能有人可以转储模块接口。

查看第一步的代码processModules是可以逐步完成的,剩下的就是使用全局信息。

尝试将详细程度调到最大 ie并检查在和--haddock-options=--verbosity=2之间花费了多少时间。Creating interfaces...Attaching instances...

于 2015-09-29T13:43:08.747 回答