gore-and-ash-logging-2.0.1.0: Core module for gore-and-ash with logging utilities

Copyright(c) Anton Gushcha, 2015-2016
LicenseBSD3
Maintainerncrashed@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Game.GoreAndAsh.Logging.Module

Description

Contains description of logging monad transformer and instance for GameModule class.

Synopsis

Documentation

newtype LoggingT s m a Source

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

runLoggingT :: StateT (LoggingState s) m a
 

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