crdt-10.4: 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).

Instances
MonadTrans LamportClockSimT Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

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

Monad m => MonadError String (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Monad m => Monad (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Functor m => Functor (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

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

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

Monad m => MonadFail (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

fail :: String -> LamportClockSimT m a #

Monad m => Applicative (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

MonadIO m => MonadIO (LamportClockSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

liftIO :: IO a -> LamportClockSimT m a #

newtype ProcessSimT m a Source #

ProcessSim inside Lamport clock simulation.

Constructors

ProcessSim (ReaderT Pid (LamportClockSimT m) a) 
Instances
MonadTrans ProcessSimT Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

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

Monad m => Monad (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

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 # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

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

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

Monad m => MonadFail (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

fail :: String -> ProcessSimT m a #

Monad m => Applicative (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

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 #

MonadIO m => MonadIO (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Methods

liftIO :: IO a -> ProcessSimT m a #

Monad m => Clock (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation

Monad m => Process (ProcessSimT m) Source # 
Instance details

Defined in CRDT.LamportClock.Simulation