黑线鳕:无法创建依赖关系图(添加带有 * 或模块标题的部分时)

StackOverflow https://stackoverflow.com/questions/1303381

  •  19-09-2019
  •  | 
  •  

我从 tarball 源编译并安装了 haddock-2.4.2。

在此处的代码中添加一些简单的注释:

和奔跑的黑线鳕

$ haddock -h -o doc Data/DualMap.hs
Warning: Data.DualMap: could not find link destinations for:
    Data.Typeable.Typeable2 GHC.Base.Eq GHC.Show.Show GHC.Base.Ord GHC.Base.Bool Data.Set.Set

产量:

事情看起来不错。(请注意,此模块仅依赖于 GHC 附带的库,而不依赖于其他源模块。)

但是,当我尝试添加部分时(la http://www.haskell.org/haddock/doc/html/ch03s04.html#id289234 )在带有“--*测试”的评论中我得到:

$ haddock -h -o doc Data/DualMap.hs
Data/DualMap.hs:20:0: parse error on input `-- * test'
haddock: Failed to create dependency graph

我不知道从哪里开始让它工作,因为这个错误消息只告诉我 Haddock.Interface.depanal 没有返回任何内容(根据 haddock 源的 grep),但不告诉我如何阻止依赖性分析失败。也许我需要更多的命令行参数或对 GHC/base/containers 文档或某些 haddock 配置文件中缺少的链接目标的引用?

在 Google 上搜索后,发现了大量与 hackage 上的软件包类似的阴谋集团构建错误,但没有提及如何修复它们。

如何添加部分(带星号)并让 Haddock 生成我的文档?我错过了什么(可能很简单)?

有帮助吗?

解决方案

简单修复(可怕的错误消息):

将 ( 移至包含模块名称的行。以前的错误代码:

module Data.DualMap
   -- * The @DualMap@ abstract type
   ( DualMap ()
   -- * (?) internal? -- exposed for testing purposes, for now...
   , dmFlip
   -- * converting to and from DualMap
   , toList, fromList, map
   -- * constructing a DualMap
   , empty, null, insert, union

快乐的代码如下所示:

module Data.DualMap (
   -- * The @DualMap@ abstract type                                                                                                                                 
     DualMap ()
   -- * (?) internal? -- exposed for testing purposes, for now...                                                                                                   
   , dmFlip
   -- * converting to and from DualMap                                                                                                                              
   , toList, fromList, map
   -- * constructing a DualMap                                                                                                                                      
   , empty, null, insert, union

够简单的。我通过下载发现了这个 来自 hacakge 的 DList 并将其删除并用我自己的代码替换代码。当 DList 使用“cabal haddock”而我的不使用时(当我尝试添加一些星号时),我查看了文件之间的差异,果然我的括号位于错误的行上。

顺便说一句,我强烈推荐 DList 作为新 Haskell 项目的起点,而不是 赫诺普.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top