Haddock链接到非导入模块中的函数

Nei*_*ell 6 haskell haddock

在模块中,B我有一个带有链接的文档'A.foo',链接到foo模块的成员A.在模块AI中导入模块B.黑线鳕呈现此作为链接A.html#t:foo,即在指向 foo(其不存在的话)不是函数foo,其在A.html#v:foo.

  • 为什么Haddock链接到t:以小写字母开头的变量?那是一个错误吗?因为'A.Foo'我可以看到它可能是一个类型或构造函数,因此存在命名空间问题.因为foo似乎变量至少是最合理的.
  • 有没有办法假冒链接?我在代码示例中写这个,所以我需要将它呈现为foo.我尝试了锚点,但它们呈现为模块名称,对于直接超链接,您无法控制显示的文本.
  • 我考虑过一个后处理器(替换t:[a-z]v:),但这需要一个自定义的Setup.hs,它会导致问题并且非常难看.
  • 我找不到任何Haddock命令行标志来获得更合理的行为,例如指定它foo是一个变量.
  • 我不能AB不引入循环导入的情况下添加导入,这纯粹是为文档添加.

我在Shake文档removeFilesAfter中遇到了这个问题,其中一个例子没有得到正确的链接.

Mat*_*zyk 2

这是Haddock bug #228和 Neil's Haddock bug #253,修复已经在上游发布了几个月。您可以构建 GHC HEAD 并重建您的文档,或者等待 7.8 然后再进行。