Haddock 是否有可能只有一个文档文件?

Is it possible to have a documentation only file with Haddock?

我正在为包含大量测试和示例的 Haskell 模块编写文档。这使我的源文件很长(3000 行)。

我的想法是制作第二个源文件 (*.hs),其中包含我的完整示例和仅文档(无函数定义)。但是当我写文档时,我的 headers 无法正确显示:

module JeanJouX.Numeric.Tests (
    -- | Introduction to my module
    --
    -- * Section 1
    -- ** Sub section 1
    -- doc text
    -- ...
    -- * Section 2
    -- ** Sub section 1
    -- 

但是当我这样破坏我的来源时:

module JeanJouX.Numeric.Tests (
    -- | Introduction to my module
    --

    -- * Section 1
    -- ** Sub section 1
    -- doc text
    -- ...
    -- * Section 2
    -- ** Sub section 1
    -- 

我的文档文本没有出现(我认为 Haddock 正在等待函数导出)。

是否可以通过这种方式制作一个Haskell带有文档的源文件?

有更好的方法吗?

存在包含 documentation-only 个模块的软件包。 pipes and generic-random 例如。

关于按部分组织内容的两个相关黑线鳕功能是 named chunks and markup for headings,这与 * Section 语法(令人困惑)不同。

-- | Package description
--
-- = Introduction
--
-- == Subsection Title
--
-- Text.

module MyModule
  ( -- * Section 1
    -- $qsdf
  ) where

-- $qsdf
-- More text.
--
-- == SubSection Title
--
-- etc.

= XYZ* XYZ 呈现不同有点奇怪,即使它们在 HTML 中都归结为 <h1>XYZ</h1>,但你可以保持一切统一坚持一种风格,在 module 行上方(= XYZ 标题)或下方(* XYZ 标题)。