co-log-0.3.0.0: Composable Contravariant Comonadic Logging Library

Copyright(c) 2018-2019 Kowainik
LicenseMPL-2.0
MaintainerKowainik <xrom.xkov@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Colog.Pure

Description

Pure implementation of logging action.

Synopsis

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.

Constructors

PureLoggerT 

Fields

Instances
MonadTrans (PureLoggerT msg) Source # 
Instance details

Defined in Colog.Pure

Methods

lift :: Monad m => m a -> PureLoggerT msg m a #

Monad m => MonadState (Seq msg) (PureLoggerT msg m) Source # 
Instance details

Defined in Colog.Pure

Methods

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 # 
Instance details

Defined in Colog.Pure

Methods

(>>=) :: 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 #

fail :: String -> PureLoggerT msg m a #

Functor m => Functor (PureLoggerT msg m) Source # 
Instance details

Defined in Colog.Pure

Methods

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 # 
Instance details

Defined in Colog.Pure

Methods

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.

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.