Copyright | (c) 2018-2020 Kowainik |
---|---|
License | MPL-2.0 |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
Pure implementation of logging action.
Synopsis
- newtype PureLoggerT msg m a = PureLoggerT {
- runPureLoggerT :: StateT (Seq msg) m a
- runPureLogT :: Functor m => PureLoggerT msg m a -> m (a, [msg])
- type PureLogger msg = PureLoggerT msg Identity
- runPureLog :: PureLogger msg a -> (a, [msg])
- logMessagePure :: Monad m => LogAction (PureLoggerT msg m) msg
Documentation
newtype PureLoggerT msg m a Source #
Pure monad transformer for logging. Can log any msg
messages. Allows to
log messages by storing them in the internal state.
PureLoggerT | |
|
Instances
MonadTrans (PureLoggerT msg) Source # | |
Defined in Colog.Pure lift :: Monad m => m a -> PureLoggerT msg m a # | |
Monad m => MonadState (Seq msg) (PureLoggerT msg m) Source # | |
Defined in Colog.Pure get :: PureLoggerT msg m (Seq msg) # put :: Seq msg -> PureLoggerT msg m () # state :: (Seq msg -> (a, Seq msg)) -> PureLoggerT msg m a # | |
Monad m => Monad (PureLoggerT msg m) Source # | |
Defined in Colog.Pure (>>=) :: PureLoggerT msg m a -> (a -> PureLoggerT msg m b) -> PureLoggerT msg m b # (>>) :: PureLoggerT msg m a -> PureLoggerT msg m b -> PureLoggerT msg m b # return :: a -> PureLoggerT msg m a # | |
Functor m => Functor (PureLoggerT msg m) Source # | |
Defined in Colog.Pure fmap :: (a -> b) -> PureLoggerT msg m a -> PureLoggerT msg m b # (<$) :: a -> PureLoggerT msg m b -> PureLoggerT msg m a # | |
Monad m => Applicative (PureLoggerT msg m) Source # | |
Defined in Colog.Pure pure :: a -> PureLoggerT msg m a # (<*>) :: PureLoggerT msg m (a -> b) -> PureLoggerT msg m a -> PureLoggerT msg m b # liftA2 :: (a -> b -> c) -> PureLoggerT msg m a -> PureLoggerT msg m b -> PureLoggerT msg m c # (*>) :: PureLoggerT msg m a -> PureLoggerT msg m b -> PureLoggerT msg m b # (<*) :: PureLoggerT msg m a -> PureLoggerT msg m b -> PureLoggerT msg m a # |
runPureLogT :: Functor m => PureLoggerT msg m a -> m (a, [msg]) Source #
Returns result value of PureLoggerT
and list of logged messages.
type PureLogger msg = PureLoggerT msg Identity Source #
PureLoggerT
specialized to Identity
runPureLog :: PureLogger msg a -> (a, [msg]) Source #
Returns result value of PureLogger
and list of logged messages.
logMessagePure :: Monad m => LogAction (PureLoggerT msg m) msg Source #
LogAction
that prints msg
by appending it to the end of the sequence.