Copyright | (c) Serokell, 2016 |
---|---|
License | GPL-3 (see the file LICENSE) |
Maintainer | Serokell <hi@serokell.io> |
Stability | experimental |
Portability | POSIX, GHC |
Safe Haskell | None |
Language | Haskell2010 |
This module contains pure implementation of MonadTimed.
- data TimedT m a
- data PureThreadId
- runTimedT :: (MonadIO m, MonadCatch m) => TimedT m a -> m a
- defaultLoggerName :: LoggerName
Documentation
MonadTrans TimedT Source # | |
MonadState s m => MonadState s (TimedT m) Source # | |
Monad (TimedT m) Source # | |
Functor (TimedT m) Source # | |
Applicative (TimedT m) Source # | |
MonadThrow m => MonadThrow (TimedT m) Source # | When non-main thread dies from uncaught exception, this is reported via
logger (see |
MonadIO m => MonadIO (TimedT m) Source # | |
MonadCatch m => MonadCatch (TimedT m) Source # | |
(MonadIO m, MonadCatch m) => MonadMask (TimedT m) Source # | This instance is incorrect, i.e. |
WithNamedLogger (TimedT m) Source # | |
(MonadIO m, MonadThrow m, MonadCatch m) => MonadTimed (TimedT m) Source # | |
type ThreadId (TimedT m) Source # | |
data PureThreadId Source #
Analogy to ThreadId
for emulation.
runTimedT :: (MonadIO m, MonadCatch m) => TimedT m a -> m a Source #
Launches the scenario emulating threads and time. Finishes when no more active threads remain.
defaultLoggerName :: LoggerName Source #
Name which is used by logger (see WithNamedLogger
) if no other one was specified.