是否可以隐藏使用haddock出现在文档中的特定功能?

efi*_*fie 9 haskell haddock

我使用haddock并且不希望我的所有导出函数都显示在文档中.是否可以隐藏特定功能?我在http://www.haskell.org/haddock/doc/html/module-attributes.html找到了prune属性,但这不是我想要的,因为一些要导出的函数没有文档注释.

Tik*_*vis 5

假设您当前的模块是Foo.Bar,一种解决方案是将其分解为Foo.Barand Foo.Bar.Internal。您可以将与您不想导出的功能相关的所有定义(甚至可能是所有定义)移入Foo.Bar.Internal。然后,在中Foo.Bar,您将仅重新导出您希望世界看到的定义。

这种方法有两个优点。它使您可以导出所需的所有内容,同时仍然为用户提供明确的信号,表明不应使用某些功能。它还可以让您在Internal模块内部记录特殊功能,这将很有用(如果仅对您将来的:P有用)。

您可能根本无法导出文件,从而Foo.Bar.Internal.cabal文件隐藏起来。但是,这不一定是最好的方法。看一下如何,为什么以及何时使用“ .Internal”模块模式的答案,尤其是luqui的