| Copyright | (c) Taku Terao 2017 |
|---|---|
| License | BSD3 |
| Maintainer | autotaker@gmail.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
Control.Monad.CTrace
Description
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
Methods
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
Instances
| 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.
Instances
| 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.