Module
Control.Monad.Logger.Trans
- Package
- purescript-monad-logger
- Repository
- cprussin/purescript-monad-logger
#LoggerT Source
newtype LoggerT m a
Constructors
Instances
Newtype (LoggerT m a) _
(Functor m) => Functor (LoggerT m)
(Monad m) => Apply (LoggerT m)
(Monad m) => Applicative (LoggerT m)
(Monad m) => Bind (LoggerT m)
(Monad m) => Monad (LoggerT m)
MonadTrans LoggerT
(MonadEffect m) => MonadEffect (LoggerT m)
(MonadAff m) => MonadAff (LoggerT m)
(MonadAsk r m) => MonadAsk r (LoggerT m)
(MonadState s m) => MonadState s (LoggerT m)
(MonadReader r m) => MonadReader r (LoggerT m)
(MonadRec m) => MonadRec (LoggerT m)
(MonadEffect m) => MonadLogger (LoggerT m)
(MonadThrow e m) => MonadThrow e (LoggerT m)
(MonadError e m) => MonadError e (LoggerT m)
#mapLoggerT Source
mapLoggerT :: forall b a m. (m a -> m b) -> LoggerT m a -> LoggerT m b
Re-exports from Control.Monad.Logger.Class
#MonadLogger Source
class (MonadEffect m) <= MonadLogger m
Instances
(MonadLogger m) => MonadLogger (ContT a m)
(MonadLogger m) => MonadLogger (ExceptT a m)
(MonadLogger m) => MonadLogger (ListT m)
(MonadLogger m) => MonadLogger (MaybeT m)
(Monoid w, MonadLogger m) => MonadLogger (RWST r w s m)
(MonadLogger m) => MonadLogger (ReaderT a m)
(MonadLogger m) => MonadLogger (StateT a m)
(Monoid w, MonadLogger m) => MonadLogger (WriterT w m)
Re-exports from Control.Monad.Trans.Class
#MonadTrans Source
class MonadTrans t where
The MonadTrans
type class represents monad transformers.
A monad transformer is a type constructor of kind (* -> *) -> * -> *
, which
takes a Monad
as its first argument, and returns another Monad
.
This allows us to add additional effects to an existing monad. By iterating this process, we create monad transformer stacks, which contain all of the effects required for a particular computation.
The laws state that lift
is a Monad
morphism.
Laws:
lift (pure a) = pure a
lift (do { x <- m ; y }) = do { x <- lift m ; lift y }