有没有办法将Haddock文档添加到导出它的模块中的实体中,而不是声明它的模块中?
我有一个隐藏的模块,它声明了十几个类型,然后还有一个模块,它只导出最终用户应该看到的部分。合理的做法是将文档放在公开的模块中,而不是隐藏的模块中。但我想不出该怎么做...
发布于 2012-07-31 17:51:54
不,这不可能。函数可以有每个参数和每个类型参数的文档,如果可以,它会使文档不一致:
以下文件:
module Bla
( -- * Fooishness
-- | This is 'foo'. It is not 'bar'.
foo
, -- * Barishness
-- | This is 'bar'. It is sometimes a little 'foo'.
bar
) where
-- | The actual foo documentation
foo :: a -- ^ The a
-> b -- ^ The b
-> c
foo = undefined
-- | The actual bar documentation
bar :: a
bar = undefined...yields此文档:

正如您所看到的,您可以使用部分注释来模拟函数文档字符串,但是只有在使用函数文档注释的情况下,才能正确地生成文档。
发布于 2012-07-31 17:57:08
嗯,考虑一下,我可以在暴露的模块中编写一个newtype。它没有运行时开销,它只会让我的代码变得更加混乱……
https://stackoverflow.com/questions/11736998
复制相似问题