Рассмотрим следующий пример:пикши: Документация по функциям экземпляра с причудами заменены класса по умолчанию документации
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 , Как включить в свой модуль мою собственную документацию?
(Вы можете увидеть, что я имею в виду, запустив cabal haddock
по репо here)
Насколько я знаю, вы не можете, пикша не документирует объявления экземпляра (за исключением перечисления экземпляра, как определено). Вы можете создавать объекты верхнего уровня 'chronoGet' и' chronoPut', документировать (и экспортировать) их и определять экземпляр '... where get = chronoGet; put = chronoPut'. Это, конечно, не очень удовлетворительно. –