time-warp-1.1.1.2: Distributed systems execution emulation

Copyright(c) Serokell 2016
LicenseGPL-3 (see the file LICENSE)
MaintainerSerokell <hi@serokell.io>
Stabilityexperimental
PortabilityPOSIX, GHC
Safe HaskellNone
LanguageHaskell2010

Control.TimeWarp.Timed.TimedIO

Description

Real-mode implementation of MonadTimed. Each function in inplementation refers to plain IO.

Synopsis

Documentation

data TimedIO a Source #

Default implementation for IO, i.e. real mode. wait refers to threadDelay, fork refers to forkIO, and so on.

Instances

Monad TimedIO Source # 

Methods

(>>=) :: TimedIO a -> (a -> TimedIO b) -> TimedIO b #

(>>) :: TimedIO a -> TimedIO b -> TimedIO b #

return :: a -> TimedIO a #

fail :: String -> TimedIO a #

Functor TimedIO Source # 

Methods

fmap :: (a -> b) -> TimedIO a -> TimedIO b #

(<$) :: a -> TimedIO b -> TimedIO a #

Applicative TimedIO Source # 

Methods

pure :: a -> TimedIO a #

(<*>) :: TimedIO (a -> b) -> TimedIO a -> TimedIO b #

(*>) :: TimedIO a -> TimedIO b -> TimedIO b #

(<*) :: TimedIO a -> TimedIO b -> TimedIO a #

MonadIO TimedIO Source # 

Methods

liftIO :: IO a -> TimedIO a #

MonadThrow TimedIO Source # 

Methods

throwM :: Exception e => e -> TimedIO a #

MonadCatch TimedIO Source # 

Methods

catch :: Exception e => TimedIO a -> (e -> TimedIO a) -> TimedIO a #

MonadMask TimedIO Source # 

Methods

mask :: ((forall a. TimedIO a -> TimedIO a) -> TimedIO b) -> TimedIO b #

uninterruptibleMask :: ((forall a. TimedIO a -> TimedIO a) -> TimedIO b) -> TimedIO b #

CanLog TimedIO Source # 
MonadTimed TimedIO Source # 
MonadBase IO TimedIO Source # 

Methods

liftBase :: IO α -> TimedIO α #

MonadBaseControl IO TimedIO Source # 

Associated Types

type StM (TimedIO :: * -> *) a :: * #

type ThreadId TimedIO Source # 
type StM TimedIO a Source # 
type StM TimedIO a = a

runTimedIO :: TimedIO a -> IO a Source #

Launches scenario using real time and threads.