为隐藏成员生成黑线鳕
Generate Haddock for hidden members
我可以为隐藏成员生成 Haddock 文档吗?我的用例是我有一个类型 T
显示在某些函数的签名中。例如f :: T -> U
、g :: T -> U
。我希望我的图书馆的用户知道 T
的用途,但实际上并不导出它。是否有意义?这可能吗?
一个选项是添加
{-# OPTIONS_HADDOCK ignore-exports #-}
这将生成 Haddock 文档,就好像有一个空的导出列表一样 -- 即,就好像模块中的所有内容都已导出一样。
或者,C 预处理器可用于 hide/show Haddock 文档中的一些条目。人们可能不得不用这样的东西来调用黑线鳕(未经测试)
haddock --optghc=-cpp --optghc=-DHADDOCK ...
然后,在 haskell 来源中,
{-# LANGUAGE CPP #-}
module M
( export1
, export2
#ifdef HADDOCK
, notExportedButWeWantDocsAnyway
#endif
, export3
) where
...
(我认为黑线鳕已经定义了一个宏来见证它的存在,但我在它的文档中找不到。人们总是可以使用用户定义的黑线鳕标志。或者也许是 this one .)
我可以为隐藏成员生成 Haddock 文档吗?我的用例是我有一个类型 T
显示在某些函数的签名中。例如f :: T -> U
、g :: T -> U
。我希望我的图书馆的用户知道 T
的用途,但实际上并不导出它。是否有意义?这可能吗?
一个选项是添加
{-# OPTIONS_HADDOCK ignore-exports #-}
这将生成 Haddock 文档,就好像有一个空的导出列表一样 -- 即,就好像模块中的所有内容都已导出一样。
或者,C 预处理器可用于 hide/show Haddock 文档中的一些条目。人们可能不得不用这样的东西来调用黑线鳕(未经测试)
haddock --optghc=-cpp --optghc=-DHADDOCK ...
然后,在 haskell 来源中,
{-# LANGUAGE CPP #-}
module M
( export1
, export2
#ifdef HADDOCK
, notExportedButWeWantDocsAnyway
#endif
, export3
) where
...
(我认为黑线鳕已经定义了一个宏来见证它的存在,但我在它的文档中找不到。人们总是可以使用用户定义的黑线鳕标志。或者也许是 this one .)