は、次の例を考えてみましょう:ハドック:デフォルトのクラスのドキュメントに置き換え癖を持つインスタンス関数のドキュメント
instance (Monad m) => MonadState s (ChronoT s e m) where
-- | Returns the present-day state.
get = ChronoT $ do
(ChronoS _ s _) <- get
return s
-- | Set the present-day state directly, erasing the past and future for
-- safety. See also 'paradox'.
put x = ChronoT $ do
(ChronoS _ _ _) <- get
put $ mkChronoS x
ハドックを介して実行すると、機能get
とput
が現れ、彼らはMonadStateから既定のドキュメントを使用しています。自分のモジュールに自分のドキュメントを含めるにはどうしたらいいですか?
(あなたは私がレポhere上cabal haddock
を実行して、何を意味するかを見ることができます)
私が知る限り、haddockはインスタンス宣言を文書化しません(定義されたインスタンスをリストすることを除いて)。最上位レベルのエンティティを 'chronoGet'と' chronoPut'とし、それらを文書化(エクスポート)し、インスタンスを定義することができます。... get get = chronoGet; put = chronoPut'もちろんそれほど満足できるものではありません。 –