それを宣言するものではなく、それをエクスポートするモジュール内のエンティティに Haddock ドキュメントを追加する方法はありますか?
十数個の型を宣言する隠しモジュールと、エンドユーザーが見るはずの部分だけをエクスポートする別のモジュールがあります。非表示のモジュールではなく、公開されたモジュールにドキュメントを配置するのが論理的です。しかし、私はそれを行う方法を理解できません...
いいえ、できません。関数には、引数ごとおよび型パラメーターごとのドキュメントを含めることができます。次のことができると、ドキュメントに一貫性がなくなります。
次のファイル:
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
...このドキュメントが生成されます:
ご覧のとおり、セクション コメントを使用して関数ドキュメント文字列をエミュレートできますが、関数ドキュメント コメントを型シグネチャのすぐそばで使用した場合にのみ、ドキュメントが適切に生成されます。
newtype
そういえば公開モジュールにa を書けばよかった。実行時のオーバーヘッドはありません。コードが少し面倒になるだけです...