我从tarball源编译并安装了haddock-2.4.2。
在这里为代码添加一些简单的注释:
并运行haddock
$ 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”在评论中添加部分(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返回Nothing(根据haddock源代码的grep)而不是如何阻止依赖关系分析失败。也许我需要更多的命令行参数或对GHC / base / containers文档或某些haddock配置文件中缺少的链接目标的引用?
搜索Google会产生大量与hackage相同的cabal构建错误,但没有关于如何修复它们。
如何添加部分(带星号)并获取Haddock来生成我的文档?我错过了什么(可能是简单的事情)?
答案 0 :(得分: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
足够简单。我通过下载DList from hacakge并将其删除并用我自己的代码替换代码来发现这一点。当DList使用'cabal haddock'并且我没有使用时(当我尝试添加一些星号时),我查看了文件之间的区别,确定我的括号位于错误的行上。
BTW我强烈建议将DList作为新Haskell项目的起点,而不是hnop。