Haskell 如何使用Haddock减少文档重复

Haskell 如何使用Haddock减少文档重复,haskell,haddock,Haskell,Haddock,我有两个非常相似的函数,它们都需要完全相同的文档。Haddock中有没有避免注释重复的方法 我在Haddock文档中找不到这个特性的描述,但我想有一种方法可以做到这一点 例如,在Javadoc中有{@inheritardoc}和@请参见SomeClass#someMethod()。Haddock呢?不幸的是,函数声明目前不可能在Haddock中包含可重用的文档。这是一个跟踪这个的程序 -$chunk\u name文档仅适用于模块文档,即导出部分。这仅适用于将文档从模块顶部移动到底部以减少混乱 此

我有两个非常相似的函数,它们都需要完全相同的文档。Haddock中有没有避免注释重复的方法

我在Haddock文档中找不到这个特性的描述,但我想有一种方法可以做到这一点


例如,在Javadoc中有
{@inheritardoc}
@请参见SomeClass#someMethod()
。Haddock呢?

不幸的是,函数声明目前不可能在Haddock中包含可重用的文档。这是一个跟踪这个的程序

-$chunk\u name
文档仅适用于模块文档,即导出部分。这仅适用于将文档从模块顶部移动到底部以减少混乱

此问题的常见解决方法有:

  • 确保类似功能在范围内,并将其添加到文档中:
    
    --|参见“函数名”。
    或
    --|参见“函数名”。
    
  • 或者,如果文档足够小,则手动复制并粘贴文档,类似于在
    bytestring
    vector
    包中执行的方式

我认为您可以使用命名的文档块()来实现这一点(我从来没有这样做过,但我有时看到haddock在我注释掉一美元时抱怨,如“-$foo”)。您可以为块定义名称,但很可能仅在导出列表中使用,并且必须位于注释的开头。如果函数密切相关,最好不要复制文档,而是让读者参考其他函数的文档。然后,如果它们仅在类型上有所不同,读者将看到一个描述和两个类型签名稍有不同的函数。是的,似乎引用文档的唯一方法是执行
——|参见“函数名”
,我们可以用这个例子扩展答案吗