3

是否可以使用 Haddock 记录类方法并在实例声明代码中查询文档片段?

例如,我希望像这样记录的类:

class ModifMATH a  where
  -- | Explanations of simpMath method.
  -- 
  --
  -- $part1
  -- $part2
  -- $part3      
  simpMath :: a -> a

和这样记录的实例:

instance ModifMATH MathExpress where
  -- $part1 a piece of explanation
  simpMath (MathDouble n)            = ...   

  -- $part2 another explanation 
  simpMath (MathMult a b)   = ...

  -- $part3 end of explanations 
  simpMath (MathAdd a b)   =  ...

并让 html Haddock 文档看起来像这样(对不起,我没有图像):

class ModifMATH a where
   Methods
      simpMath :: a -> a
         Explanations of simpMath method.
         a piece of explanation
         another explanation
         end of explanations

当在实例中添加模式同时将整个方法文档保存在一个独立的段落中时,这种文档组织将更具可读性和可扩展性。可能吗?

我正在使用 Haddock 2.10.0 版。在 Debian 7.0 上。

谢谢您的帮助。

4

1 回答 1

2

不,不可能像这样拆分文档。

唯一可以或多或少做到这一点的地方是记录字段的使用有问题,但在这里不适用,我们在 2.14.x 中改变了这种行为。

也许您可以使用定义列表来尝试在文档中进行自然拆分。例如,像

class ModifMATH a  where
  -- | Explanations of simpMath method.
  -- 
  -- [MathDouble case] $part1
  --
  -- [MathMult case] $part2
  --
  -- [MathAdd case] $part3      
  simpMath :: a -> a

请注意,文档指的是 2.14.x 版本,它比您使用的版本要新一些,例如,每个定义列表之间的换行符是必要的。

它应该或多或少像:

清单
(来源:fuuzetsu.co.uk

如果需要,您可以使用多行,请参阅文档。

于 2014-05-10T09:58:15.547 回答