| Safe Haskell | Safe-Inferred |
|---|
Game.Antisplice.Utils.Counter
Description
Provides a counter monad.
- newtype CounterT m a = Counter {
- runCounterT :: Int -> m (a, Int)
- class Monad m => MonadCounter m where
- withCounter :: (Monad m, Functor m) => CounterT m a -> m a
Documentation
A counter monad.
Constructors
| Counter | |
Fields
| |
Instances
| MonadTrans CounterT | |
| MonadError SplErr m0 => MonadError SplErr (CounterT m0) | |
| ChannelPrinter Bool m0 => ChannelPrinter Bool (CounterT m0) | |
| ChannelPrinter Int m0 => ChannelPrinter Int (CounterT m0) | |
| ChannelPrinter Handle m0 => ChannelPrinter Handle (CounterT m0) | |
| ChannelPrinter PlayerId m0 => ChannelPrinter PlayerId (CounterT m0) | |
| (MonadDungeon m0, ChannelPrinter PlayerId m0) => Broadcaster PlayerId (CounterT m0) | |
| Monad m => Monad (CounterT m) | |
| Functor m => Functor (CounterT m) | |
| MonadIO m0 => MonadIO (CounterT m0) | |
| Monad m => MonadCounter (CounterT m) | |
| MonadAtoms m0 => MonadAtoms (CounterT m0) | |
| MonadVocab m0 => MonadVocab (CounterT m0) | |
| MonadPrinter m0 => MonadPrinter (CounterT m0) | |
| MonadFinalizer m0 => MonadFinalizer (CounterT m0) | |
| MonadScanner m0 => MonadScanner (CounterT m0) | |
| MonadExpand m0 => MonadExpand (CounterT m0) | |
| ExpanderEnv m0 => ExpanderEnv (CounterT m0) | |
| MonadRandom m0 => MonadRandom (CounterT m0) | |
| MonadClock m0 => MonadClock (CounterT m0) | |
| ExtendedPrinter m0 => ExtendedPrinter (CounterT m0) | |
| MonadDungeon m0 => MonadDungeon (CounterT m0) | |
| MonadPlayer m0 => MonadPlayer (CounterT m0) | |
| MonadObject m0 => MonadObject (CounterT m0) | |
| MonadRoom m0 => MonadRoom (CounterT m0) | |
| MonadSpawn m0 => MonadSpawn (CounterT m0) | |
| HistoryEnv m0 => HistoryEnv (CounterT m0) |
class Monad m => MonadCounter m whereSource
Typeclass for all counter monads.
Instances
| Monad m => MonadCounter (CounterT m) | |
| MonadCounter m0 => MonadCounter (SplErrT m0) | |
| MonadCounter m => MonadCounter (AtomStoreT m) | |
| MonadCounter m0 => MonadCounter (VocabT m0) | |
| MonadCounter m0 => MonadCounter (DungeonT m0) | |
| MonadCounter m0 => MonadCounter (PlayerT m0) | |
| MonadCounter m0 => MonadCounter (ObjectT m0) | |
| MonadCounter m0 => MonadCounter (RoomT m0) | |
| MonadCounter m0 => MonadCounter (PlayerFilterT m0) | |
| MonadCounter m0 => MonadCounter (StereoBuilderT m0) |
withCounter :: (Monad m, Functor m) => CounterT m a -> m aSource
Run the given function inside a counter