gpt4 book ai didi

haskell - Haddock - 在记录类方法时尝试使用命名 block

转载 作者:行者123 更新时间:2023-12-02 01:49:52 26 4
gpt4 key购买 nike

是否可以使用 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

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

我使用的是黑线鳕 2.10.0 版。在 Debian 7.0 上。

感谢您的帮助。

最佳答案

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

唯一可以或多或少做到这一点的地方是 case of some questionable use of record fields但不适用于此处,我们已在 2.14.x 中更改了此行为。

也许你可以使用 a definition list尝试在您的文档中进行一些自然的拆分。例如,类似

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

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

它应该看起来或多或少像:

deflist
(来源:fuuzetsu.co.uk)

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

关于haskell - Haddock - 在记录类方法时尝试使用命名 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23446976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com