Safe Haskell | None |
---|
Provides a variable-storing monad and functions for access (they almost form an arrow)
- newtype Atom a = Atom Int
- newtype AtomStoreT m a = AtomStore {}
- class MonadCounter m => MonadAtoms m where
- newtype (Typeable a, Typeable b) => Atomar m a b = Atomar {}
- mapAtom :: (Typeable a, Typeable b, MonadAtoms m) => (a -> b) -> Atom a -> m (Atom b)
Documentation
newtype AtomStoreT m a Source
The storage monad
class MonadCounter m => MonadAtoms m whereSource
Typeclass for all atom-storing monads.
newAtom :: Typeable v => m (Atom v)Source
Reserve a new atom.
putAtom :: Typeable v => Atom v -> v -> m ()Source
Save a value for the given atom.
getAtom :: Typeable v => Atom v -> m vSource
Get the value from a given atom.
dispAtom :: Atom v -> m ()Source
Dispose the given atom.
cloneAtom :: Typeable v => Atom v -> m (Atom v)Source
Clone the given atom.
MonadAtoms m0 => MonadAtoms (CounterT m0) | |
MonadAtoms m0 => MonadAtoms (SplErrT m0) | |
(Functor m, MonadCounter m) => MonadAtoms (AtomStoreT m) | |
MonadAtoms m0 => MonadAtoms (VocabT m0) | |
MonadAtoms m0 => MonadAtoms (DungeonT m0) | |
MonadAtoms m0 => MonadAtoms (PlayerT m0) | |
MonadAtoms m0 => MonadAtoms (ObjectT m0) | |
MonadAtoms m0 => MonadAtoms (RoomT m0) | |
MonadAtoms m0 => MonadAtoms (PlayerFilterT m0) | |
MonadAtoms m0 => MonadAtoms (StereoBuilderT m0) |