Copyright | (c) Taku Terao 2017 |
---|---|
License | BSD3 |
Maintainer | autotaker@gmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
Contextual tracing monad, mtl-compatible.
- class Monad m => MonadTrace c m | m -> c where
- data TracerT c m a
- zoom :: ASetter' c c' -> TracerT c' m a -> TracerT c m a
- mapTracerT :: (m a -> n b) -> TracerT c m a -> TracerT c n b
- runTracerT :: ((c -> c) -> IO ()) -> TracerT c m a -> m a
- noTracerT :: Monad m => TracerT c m a -> m a
- ioTracerT :: MonadIO m => c -> TracerT c m a -> m (a, c)
Documentation
class Monad m => MonadTrace c m | m -> c where Source #
contextual tracing monad
update :: (c -> c) -> m () Source #
Apply the specified function to the tracing context
zoom' :: ASetter' c c -> m a -> m a Source #
monomorphic version of zoom
operation
MonadTrace c m => MonadTrace c (MaybeT m) Source # | |
MonadTrace c m => MonadTrace c (ListT m) Source # | |
MonadTrace c m => MonadTrace c (StateT s m) Source # | |
MonadTrace c m => MonadTrace c (StateT s m) Source # | |
MonadTrace c m => MonadTrace c (IdentityT * m) Source # | |
MonadTrace c m => MonadTrace c (ExceptT e m) Source # | |
(Monoid w, MonadTrace c m) => MonadTrace c (WriterT w m) Source # | |
(Monoid w, MonadTrace c m) => MonadTrace c (WriterT w m) Source # | |
MonadIO m => MonadTrace c (TracerT c m) Source # | |
MonadTrace c m => MonadTrace c (ContT * r m) Source # | |
MonadTrace c m => MonadTrace c (ReaderT * r m) Source # | |
(Monoid w, MonadTrace c m) => MonadTrace c (RWST r w s m) Source # | |
(Monoid w, MonadTrace c m) => MonadTrace c (RWST r w s m) Source # | |
Contextual tracing monad transformer type. Tracing context c can be modified through this monad.
MonadRWS r w s m => MonadRWS r w s (TracerT c m) Source # | |
MonadWriter w m => MonadWriter w (TracerT c m) Source # | |
MonadState s m => MonadState s (TracerT c m) Source # | |
MonadReader r m => MonadReader r (TracerT c m) Source # | |
MonadError e m => MonadError e (TracerT c m) Source # | |
MonadIO m => MonadTrace c (TracerT c m) Source # | |
MonadTrans (TracerT c) Source # | |
Monad m => Monad (TracerT c m) Source # | |
Functor m => Functor (TracerT c m) Source # | |
MonadFix m => MonadFix (TracerT c m) Source # | |
Applicative m => Applicative (TracerT c m) Source # | |
MonadIO m => MonadIO (TracerT c m) Source # | |
MonadCont m => MonadCont (TracerT c m) Source # | |
mapTracerT :: (m a -> n b) -> TracerT c m a -> TracerT c n b Source #
Transform the base monad
runTracerT :: ((c -> c) -> IO ()) -> TracerT c m a -> m a Source #
Run the tracer monad with the specified update action.