tardis-0.2.0.0: Bidirectional state monad transformer

Safe HaskellSafe-Infered

Control.Monad.Tardis.Class

Documentation

class (Applicative m, MonadFix m) => MonadTardis bw fw m | m -> bw, m -> fw whereSource

Methods

getPast :: m fwSource

getFuture :: m bwSource

sendPast :: bw -> m ()Source

sendFuture :: fw -> m ()Source

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

Instances

MonadFix m => MonadTardis bw fw (TardisT bw fw m) 

modifyForwards :: MonadTardis bw fw m => (fw -> fw) -> m ()Source

modifyBackwards :: MonadTardis bw fw m => (bw -> bw) -> m ()Source

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

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