Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Pid = Pid Word64
- class Monad m => Clock m where
- data LamportTime = LamportTime !LocalTime !Pid
- getRealLamportTime :: IO LamportTime
- newtype LamportClock a = LamportClock (State (Map Pid LocalTime) a)
- runLamportClock :: LamportClock a -> a
- newtype Process a = Process (ReaderT Pid LamportClock a)
- getPid :: Process Pid
- runProcess :: Pid -> Process a -> LamportClock a
Documentation
Unique process identifier
Lamport timestamp (for a single process)
data LamportTime Source #
LamportTime !LocalTime !Pid |
Lamport clock (for a whole multi-process system)
newtype LamportClock a Source #
Key is Pid
. Non-present value is equivalent to 0.
LamportClock (State (Map Pid LocalTime) a) |
runLamportClock :: LamportClock a -> a Source #
Process
runProcess :: Pid -> Process a -> LamportClock a Source #