fused-effects-logging-0.1.0.0: fused-effects-logging - a logging library for fused-effects
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Carrier.Logging.Ref

Description

simple logging to a mutable cell for testing purposes

Synopsis

Documentation

newtype RefLoggingC m a Source #

Constructors

RefLoggingC 

Fields

Instances

Instances details
MonadFail m => MonadFail (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

fail :: String -> RefLoggingC m a #

MonadIO m => MonadIO (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

liftIO :: IO a -> RefLoggingC m a #

Applicative m => Applicative (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

pure :: a -> RefLoggingC m a #

(<*>) :: RefLoggingC m (a -> b) -> RefLoggingC m a -> RefLoggingC m b #

liftA2 :: (a -> b -> c) -> RefLoggingC m a -> RefLoggingC m b -> RefLoggingC m c #

(*>) :: RefLoggingC m a -> RefLoggingC m b -> RefLoggingC m b #

(<*) :: RefLoggingC m a -> RefLoggingC m b -> RefLoggingC m a #

Functor m => Functor (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

fmap :: (a -> b) -> RefLoggingC m a -> RefLoggingC m b #

(<$) :: a -> RefLoggingC m b -> RefLoggingC m a #

Monad m => Monad (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

(>>=) :: RefLoggingC m a -> (a -> RefLoggingC m b) -> RefLoggingC m b #

(>>) :: RefLoggingC m a -> RefLoggingC m b -> RefLoggingC m b #

return :: a -> RefLoggingC m a #

MonadUnliftIO m => MonadUnliftIO (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

withRunInIO :: ((forall a. RefLoggingC m a -> IO a) -> IO b) -> RefLoggingC m b #

(Algebra sig m, MonadIO m) => Algebra (Logging :+: sig) (RefLoggingC m) Source # 
Instance details

Defined in Control.Carrier.Logging.Ref

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (RefLoggingC m) -> (Logging :+: sig) n a -> ctx () -> RefLoggingC m (ctx a) #

runRefLogging :: IORef (Seq LogMsg) -> RefLoggingC m a -> m a Source #

pass a cell that is supposed to be logged to