tardis-0.2.0.0: Bidirectional state monad transformer

Safe HaskellSafe-Infered

Control.Monad.Trans.Tardis

Documentation

data TardisT bw fw m a Source

Instances

MonadFix m => MonadTardis bw fw (TardisT bw fw m) 
MonadFix m => MonadState fw (TardisT bw fw m) 
MonadTrans (TardisT bw fw) 
MonadFix m => Monad (TardisT bw fw m) 
MonadFix m => Functor (TardisT bw fw m) 
MonadFix m => MonadFix (TardisT bw fw m) 
MonadFix m => Applicative (TardisT bw fw m) 

runTardisT :: TardisT bw fw m a -> (bw, fw) -> m (a, (bw, fw))Source

evalTardisT :: Monad m => TardisT bw fw m a -> (bw, fw) -> m aSource

execTardisT :: Monad m => TardisT bw fw m a -> (bw, fw) -> m (bw, fw)Source

type Tardis bw fw = TardisT bw fw IdentitySource

runTardis :: Tardis bw fw a -> (bw, fw) -> (a, (bw, fw))Source

evalTardis :: Tardis bw fw a -> (bw, fw) -> aSource

execTardis :: Tardis bw fw a -> (bw, fw) -> (bw, fw)Source

tardis :: Monad m => ((bw, fw) -> (a, (bw, fw))) -> TardisT bw fw m aSource

getPast :: Monad m => TardisT bw fw m fwSource

getFuture :: Monad m => TardisT bw fw m bwSource

sendPast :: Monad m => bw -> TardisT bw fw m ()Source

sendFuture :: Monad m => fw -> TardisT bw fw m ()Source

modifyForwards :: MonadFix m => (fw -> fw) -> TardisT bw fw m ()Source

modifyBackwards :: MonadFix m => (bw -> bw) -> TardisT bw fw m ()Source

getsPast :: MonadFix m => (fw -> a) -> TardisT bw fw m aSource

getsFuture :: MonadFix m => (bw -> a) -> TardisT bw fw m aSource

noState :: (a, b)Source