2

それを宣言するものではなく、それをエクスポートするモジュール内のエンティティに Haddock ドキュメントを追加する方法はありますか?

十数個の型を宣言する隠しモジュールと、エンドユーザーが見るはずの部分だけをエクスポートする別のモジュールがあります。非表示のモジュールではなく、公開されたモジュールにドキュメントを配置するのが論理的です。しかし、私はそれを行う方法を理解できません...

4

2 に答える 2

5

いいえ、できません。関数には、引数ごとおよび型パラメーターごとのドキュメントを含めることができます。次のことができると、ドキュメントに一貫性がなくなります。

  1. 異なる場所に異なるバージョンを書き込む
  2. 1 つのバージョンで別のバージョンをオーバーライドする
  3. 引数のドキュメントに矛盾が生じます: 関数のメイン ドキュメント文字列をオーバーライドするとどうなりますか。引数のドキュメント文字列を削除する必要がありますか?

次のファイル:

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

...このドキュメントが生成されます:

ハドックのドキュメント

ご覧のとおり、セクション コメントを使用して関数ドキュメント文字列をエミュレートできますが、関数ドキュメント コメントを型シグネチャのすぐそばで使用した場合にのみ、ドキュメントが適切に生成されます。

于 2012-07-31T09:51:54.130 に答える
0

newtypeそういえば公開モジュールにa を書けばよかった。実行時のオーバーヘッドはありません。コードが少し面倒になるだけです...

于 2012-07-31T09:57:07.607 に答える