如果我在我的库上执行cabal build,然后更改一个文件,那么下次运行cabal build时,我只需要重新编译受更改影响的文件。使用cabal haddock命令时,我没有得到相同的行为:当我在更改文件后运行它时,cabal/haddock最终丢弃了所有以前的工作,并从头开始。这相当耗时;有没有办法对文档进行不同的更新?
下面是生成文档的dump of the command cabal issues。
发布于 2015-09-29 21:43:09
processModules文档中写道:
通过使用GHC检查模块列表并处理生成的语法树来创建接口和链接环境。
这就是haddock的核心功能。所以你的问题的答案是“不”。
cabal build根本不能帮助cabal haddock,因为haddock会用不同的参数检查模块(例如,启用__HADDOCK__ CPP变量)
生成可靠的增量haddock是很困难的,因为依赖图中后面的代码可能会改变之前的模块文档:特别是实例清单。也许可以转储模块接口。
查看at the code of processModules第一步是可以逐步完成的,rest使用的是全局信息。
尝试将详细程度设置为最大值,即--haddock-options=--verbosity=2,并检查在Creating interfaces...和Attaching instances...之间花费了多少时间。
https://stackoverflow.com/questions/32701705
复制相似问题