1

我从 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 附带的库,而不依赖于其他源模块。)

但是,当我尝试在带有“-- * test”的评论中添加部分(a 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 没有返回任何东西(根据黑线鳕源的 grep),但没有告诉我如何阻止依赖项分析失败。也许我需要更多命令行参数或对 GHC/base/containers 文档或一些黑线鳕配置文件中缺少的链接目标的引用?

搜索 Google 发现了大量与 hackage 包相同的 cabal 构建错误,但没有关于如何修复它们的信息。

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

4

1 回答 1

0

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

将 ( 移动到模块名称所在的行。以前的错误代码:

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 项目的起点,而不是hnop

于 2009-08-20T16:23:36.250 回答