| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Timing
- class MonadTiming m where
- type TimingTree = Tree (Tag, NominalDiffTime)
- type Tag = String
- newtype TimingT m a = TimingT {
- runTimingT :: m (a, [TimingTree])
- execTimingT :: MonadIO m => TimingT m b -> m [TimingTree]
- timingAll :: MonadIO m => TimingT m a -> m (a, TimingTree)
- newtype NoTimingT m a = NoTimingT {
- runNoTimingT :: m a
Introduction
This package provides an mtl-like interface for timing subcomponents of an arbitrary computation.
MonadTiming
class MonadTiming m where Source #
Monads that support timing subcomputations.
Minimal complete definition
Instances
| MonadTiming (NoTimingT m) Source # | |
| MonadIO m => MonadTiming (TimingT m) Source # | |
type TimingTree = Tree (Tag, NominalDiffTime) Source #
A tree of timing events.
TimingT, general timing handler
A monad transformer that records timing events.
Constructors
| TimingT | |
Fields
| |
Instances
| MonadTrans TimingT Source # | |
| MonadRWS r w s m => MonadRWS r w s (TimingT m) Source # | |
| MonadBase b m => MonadBase b (TimingT m) Source # | |
| MonadBaseControl b m => MonadBaseControl b (TimingT m) Source # | |
| MonadError e m => MonadError e (TimingT m) Source # | |
| MonadReader r m => MonadReader r (TimingT m) Source # | |
| MonadState s m => MonadState s (TimingT m) Source # | |
| MonadWriter w m => MonadWriter w (TimingT m) Source # | |
| Monad m => Monad (TimingT m) Source # | |
| Functor m => Functor (TimingT m) Source # | |
| MonadFix m => MonadFix (TimingT m) Source # | |
| Applicative m => Applicative (TimingT m) Source # | |
| MonadIO m => MonadIO (TimingT m) Source # | |
| Alternative m => Alternative (TimingT m) Source # | |
| MonadPlus m => MonadPlus (TimingT m) Source # | |
| MonadThrow m => MonadThrow (TimingT m) Source # | |
| MonadCatch m => MonadCatch (TimingT m) Source # | |
| MonadMask m => MonadMask (TimingT m) Source # | |
| MonadCont m => MonadCont (TimingT m) Source # | |
| MonadIO m => MonadTiming (TimingT m) Source # | |
| type StM (TimingT m) a Source # | |
execTimingT :: MonadIO m => TimingT m b -> m [TimingTree] Source #
Run a TimingT computation, discarding the result.
timingAll :: MonadIO m => TimingT m a -> m (a, TimingTree) Source #
Wrap an entire TimingT computation in a timing event.
NoTimingT, a no-timing handler
newtype NoTimingT m a Source #
Run a computation without recording any timing data.
Constructors
| NoTimingT | |
Fields
| |
Instances