Safe Haskell | None |
---|
Provides a variable-storing monad and functions for access
Documentation
Phantom type for atom IDs
newtype AtomStoreT m a Source
The storage monad
MonadTrans AtomStoreT | |
Monad m => Monad (AtomStoreT m) | |
Functor m => Functor (AtomStoreT m) | |
MonadIO m => MonadIO (AtomStoreT m) | |
ChCounter m => ChCounter (AtomStoreT m) | |
ChCounter m => ChAtoms (AtomStoreT m) |
class ChCounter m => ChAtoms m whereSource
Typeclass for all atom-storing monads.
Reserve a new atom.
funAtom :: Atom b -> (b -> a) -> (b -> a -> b) -> m (Atom a)Source
Construct a new functional atom.
funAtom2 :: Atom b -> Atom c -> ((b, c) -> a) -> ((b, c) -> a -> (b, c)) -> m (Atom a)Source
Construct a new doubly-source functional atom
putAtom :: Atom v -> v -> m ()Source
Save a value for the given atom.
getAtom :: Atom v -> m vSource
Get the value from a given atom.
dispAtom :: Atom v -> m ()Source
Dispose the given atom.
cloneAtom :: Atom v -> m (Atom v)Source
Clone the given atom.
ChCounter m => ChAtoms (AtomStoreT m) |