unclogging-0.1.0.3: a library which implements easy, concurrent and pretty logging
Safe HaskellNone
LanguageGHC2021

Control.Effect.Unclog

Synopsis

Documentation

data Log (m :: k) r where Source #

a logging effect

Constructors

PublishLogEntry :: forall {k} (m :: k). (Time -> LogEntry) -> Log m () 

Instances

Instances details
(Algebra sig m, MonadIO m) => Algebra ((Log :: (Type -> Type) -> Type -> Type) :+: sig) (UnclogC m) Source # 
Instance details

Defined in Control.Carrier.Unclog

Methods

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

publishLogEntry :: forall (sig :: (Type -> Type) -> Type -> Type) m. Has (Log :: (Type -> Type) -> Type -> Type) sig m => (Time -> LogEntry) -> m () Source #

publish a log entry that gets supplied a time by the effect interpretation