| Copyright | (c) Anton Gushcha, 2015-2016 |
|---|---|
| License | BSD3 |
| Maintainer | ncrashed@gmail.com |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Game.GoreAndAsh.Logging.Module
Description
Contains description of logging monad transformer and instance for
GameModule class.
- newtype LoggingT s m a = LoggingT {
- runLoggingT :: StateT (LoggingState s) m a
Documentation
Monad transformer of logging core module.
s- - State of next core module in modules chain;
m- - Next monad in modules monad stack;
a- - Type of result value;
How to embed module:
type AppStack = ModuleStack [LoggingT, ... other modules ... ] IO newtype AppMonad a = AppMonad (AppStack a) deriving (Functor, Applicative, Monad, MonadFix, MonadIO, LoggingMonad)
The module is pure within first phase (see ModuleStack docs) and could be used
with Identity end monad.
Constructors
| LoggingT | |
Fields
| |
Instances
| MonadBase IO m => MonadBase IO (LoggingT s m) Source | |
| MonadError e m => MonadError e (LoggingT s m) Source | |
| MonadTrans (LoggingT s) Source | |
| Monad m => MonadState (LoggingState s) (LoggingT s m) Source | |
| Monad m => Monad (LoggingT s m) Source | |
| Functor m => Functor (LoggingT s m) Source | |
| MonadFix m => MonadFix (LoggingT s m) Source | |
| Monad m => Applicative (LoggingT s m) Source | |
| MonadIO m => MonadIO (LoggingT s m) Source | |
| MonadThrow m => MonadThrow (LoggingT s m) Source | |
| MonadMask m => MonadMask (LoggingT s m) Source | |
| MonadCatch m => MonadCatch (LoggingT s m) Source | |
| MonadResource m => MonadResource (LoggingT s m) Source | |
| MonadIO m => LoggingMonad (LoggingT s m) Source | |
| type ModuleState (LoggingT s m) = LoggingState s Source |