Safe Haskell | None |
---|---|
Language | GHC2021 |
Control.Carrier.Unclog
Description
running the fused-effects
frontend
Synopsis
- newtype UnclogC (m :: Type -> Type) r = MkUnclogC {
- runUnclogC :: PLogChan -> m r
- runUnclogging :: MonadUnliftIO m => [Subscriber m] -> UnclogC m a -> m a
- runUncloggingToList :: MonadUnliftIO m => UnclogC m a -> m ([LogEntry], a)
Documentation
newtype UnclogC (m :: Type -> Type) r Source #
the IO
carrier for unclogging
Constructors
MkUnclogC | |
Fields
|
Instances
MonadFail m => MonadFail (UnclogC m) Source # | |
Defined in Control.Carrier.Unclog | |
MonadFix m => MonadFix (UnclogC m) Source # | |
Defined in Control.Carrier.Unclog | |
MonadIO m => MonadIO (UnclogC m) Source # | |
Defined in Control.Carrier.Unclog | |
Alternative m => Alternative (UnclogC m) Source # | |
Applicative m => Applicative (UnclogC m) Source # | |
Functor m => Functor (UnclogC m) Source # | |
Monad m => Monad (UnclogC m) Source # | |
(Alternative m, Monad m) => MonadPlus (UnclogC m) Source # | |
MonadUnliftIO m => MonadUnliftIO (UnclogC m) Source # | |
Defined in Control.Carrier.Unclog | |
(Algebra sig m, MonadIO m) => Algebra ((Log :: (Type -> Type) -> Type -> Type) :+: sig) (UnclogC m) Source # | |
runUnclogging :: MonadUnliftIO m => [Subscriber m] -> UnclogC m a -> m a Source #
run the logging effect into multiple subscribers. this is what you would use in actual code
runUncloggingToList :: MonadUnliftIO m => UnclogC m a -> m ([LogEntry], a) Source #
run the logging effect and simply collect the log entries. this is useful to check if e.g. a specific log entry was emitted in tests