| 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