Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type LamportClockSim s = LamportClockSimT s Identity
- newtype LamportClockSimT s m a = LamportClockSim (ExceptT String (RWST s () (Map Pid (ProcessState s)) m) a)
- type ProcessSim s = ProcessSimT s Identity
- newtype ProcessSimT s m a = ProcessSim (ReaderT Pid (LamportClockSimT s m) a)
- runLamportClockSim :: s -> LamportClockSim s a -> Either String a
- runLamportClockSimT :: Monad m => s -> LamportClockSimT s m a -> m (Either String a)
- runProcessSim :: Pid -> ProcessSim s a -> LamportClockSim s a
- runProcessSimT :: Pid -> ProcessSimT s m a -> LamportClockSimT s m a
Lamport clock simulation
type LamportClockSim s = LamportClockSimT s Identity Source #
newtype LamportClockSimT s m a Source #
Lamport clock simulation. Key is Pid
.
Non-present value is equivalent to (0, initial).
Monad m => MonadError String (LamportClockSimT s m) Source # | |
MonadTrans (LamportClockSimT s) Source # | |
Monad m => Monad (LamportClockSimT s m) Source # | |
Functor m => Functor (LamportClockSimT s m) Source # | |
Monad m => MonadFail (LamportClockSimT s m) Source # | |
Monad m => Applicative (LamportClockSimT s m) Source # | |
type ProcessSim s = ProcessSimT s Identity Source #
newtype ProcessSimT s m a Source #
ProcessSim inside Lamport clock simulation.
ProcessSim (ReaderT Pid (LamportClockSimT s m) a) |
Monad m => MonadState s (ProcessSimT s m) Source # | |
MonadTrans (ProcessSimT s) Source # | |
Monad m => Monad (ProcessSimT s m) Source # | |
Functor m => Functor (ProcessSimT s m) Source # | |
Monad m => MonadFail (ProcessSimT s m) Source # | |
Monad m => Applicative (ProcessSimT s m) Source # | |
Monad m => Clock (ProcessSimT s m) Source # | |
Monad m => Process (ProcessSimT s m) Source # | |
runLamportClockSim :: s -> LamportClockSim s a -> Either String a Source #
runLamportClockSimT :: Monad m => s -> LamportClockSimT s m a -> m (Either String a) Source #
runProcessSim :: Pid -> ProcessSim s a -> LamportClockSim s a Source #
runProcessSimT :: Pid -> ProcessSimT s m a -> LamportClockSimT s m a Source #