Portability | portable |
---|---|
Stability | experimental |
Maintainer | <morrow@moonpatio.com> |
A transactional state monad.
- data TxM o s a
- data Tx o s e a
- data TxStat e a
- runTxM :: TxM o s a -> s -> (s -> a -> o) -> o
- runTxM_ :: TxM (a, s) s a -> s -> (a, s)
- begin :: (Tx o s e a -> TxM o s ()) -> TxM o s (TxStat e a)
- abort :: Tx o s e a -> Maybe e -> TxM o s ()
- dirty :: Tx o s e a -> Maybe e -> TxM o s ()
- rollback :: Tx o s e a -> a -> TxM o s ()
- commit :: Tx o s e a -> a -> TxM o s ()
- get :: TxM o s s
- gets :: (s -> a) -> TxM o s a
- set :: s -> TxM o s ()
- modify :: (s -> s) -> TxM o s ()
- test0 :: Tx o Int String String -> TxM o Int ()
- runTest0 :: [(TxStat String String, Int)]
Documentation
The transaction monad. A State monad, with transactional state.
Transaction Status.
begin :: (Tx o s e a -> TxM o s ()) -> TxM o s (TxStat e a)Source
Begin a transaction. begin
takes a function
which represents this transaction.