Rozważmy następujący przykład:Haddock: Dokumentacja dla funkcji instancji z dziwactw zastąpione domyślną klasy dokumentacji
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
Po uruchomieniu przez plamiaka, funkcje get
i put
pokazać się, ale są one za pomocą dokumentacji domyślną z MonadState . Jak dołączyć do nich moją dokumentację w moim module?
(Można zobaczyć, co mam na myśli, uruchamiając cabal haddock
nad repo here)
O ile mi wiadomo, nie można, plamiaka nie udokumentowania deklaracji instancji (z wyjątkiem wymieniając instancji zdefiniowane). Można zrobić podmiotów najwyższego poziomu 'chronoGet' i' chronoPut', dokument (i wywóz) je i określ instancję '... gdzie get = chronoGet; put = chronoPut'. To oczywiście niezbyt satysfakcjonujące. –