Haddock - 链接到外部模块中的功能(导入整个模块)

时间:2014-01-05 04:21:14

标签: haskell haddock

假设我有一个名为MyModule的Haskell模块,它会导入外部模块,如下所示:

import ModuleA hiding (a, b, c)

无法修改此导入语句,因为该程序不完全是我的。

我希望在ModuleA.external_function的文档中链接到ModuleA,在上面的评论中称为my_function。所以代码看起来像这样:

-- | my_function makes use of 'ModuleA.external_function'
my_function :: Int -> Int

使用haddock 2.10.0并运行cabal haddockModuleA.external_function的链接生成为dist/doc/html/MyModule/ModuleA.html#v:external_function。但是,问题是dist/doc/html/MyModule/ModuleA.html文件不存在。

如何生成指向ModuleA的文档的链接,例如module-A-package/docs/ModuleA.html#v:external_function。换句话说,类似于http://hackage.haskell.org/package/text-0.11.2.0/docs/Data-Text.htmlString类型的链接(它们链接到http://hackage.haskell.org/package/base-4.5.0.0/docs/Data-String.html#t:String)的内容类似的内容?请记住,我无法修改import声明。

谢谢。

1 个答案:

答案 0 :(得分:0)

要在Haddock文档中建立外部包的链接,您需要指示它们在哪里找到这些包的文档

使用--read-interface Haddock命令行选项完成。

使用您的示例,它将是:

haddock --read-interface module-A-package/docs/,module-A-package/docs/module-A-package.haddock

使用----dump-interface Haddock命令行选项为 module-A-package 生成文档时,会生成 .haddock 文件。

可以在the Haddock documentationthis HaskellWiki page找到更多信息。