Copyright | (c) Anton Gushcha, 2015-2016 |
---|---|
License | BSD3 |
Maintainer | ncrashed@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
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.
LoggingT | |
|
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 |