crdt-10.0: Conflict-free replicated data types

Safe HaskellNone
LanguageHaskell2010

CRDT.LamportClock.Simulation

Contents

Synopsis

Lamport clock simulation

newtype LamportClockSimT m a Source #

Lamport clock simulation. Key is Pid. Non-present value is equivalent to (0, initial).

newtype ProcessSimT m a Source #

ProcessSim inside Lamport clock simulation.

Constructors

ProcessSim (ReaderT Pid (LamportClockSimT m) a) 

Instances

MonadTrans ProcessSimT Source # 

Methods

lift :: Monad m => m a -> ProcessSimT m a #

Monad m => Monad (ProcessSimT m) Source # 

Methods

(>>=) :: ProcessSimT m a -> (a -> ProcessSimT m b) -> ProcessSimT m b #

(>>) :: ProcessSimT m a -> ProcessSimT m b -> ProcessSimT m b #

return :: a -> ProcessSimT m a #

fail :: String -> ProcessSimT m a #

Functor m => Functor (ProcessSimT m) Source # 

Methods

fmap :: (a -> b) -> ProcessSimT m a -> ProcessSimT m b #

(<$) :: a -> ProcessSimT m b -> ProcessSimT m a #

Monad m => MonadFail (ProcessSimT m) Source # 

Methods

fail :: String -> ProcessSimT m a #

Monad m => Applicative (ProcessSimT m) Source # 

Methods

pure :: a -> ProcessSimT m a #

(<*>) :: ProcessSimT m (a -> b) -> ProcessSimT m a -> ProcessSimT m b #

liftA2 :: (a -> b -> c) -> ProcessSimT m a -> ProcessSimT m b -> ProcessSimT m c #

(*>) :: ProcessSimT m a -> ProcessSimT m b -> ProcessSimT m b #

(<*) :: ProcessSimT m a -> ProcessSimT m b -> ProcessSimT m a #

Monad m => Clock (ProcessSimT m) Source # 
Monad m => Process (ProcessSimT m) Source #