fused-effects-1.1.1.2: A fast, flexible, fused effect system.
Safe HaskellNone
LanguageHaskell2010

Control.Carrier.Trace.Ignoring

Description

A carrier for the Trace effect that ignores all traced results. Useful when you wish to disable tracing without removing all trace statements.

Since: 1.0.0.0

Synopsis

Trace carrier

runTrace :: TraceC m a -> m a Source #

Run a Trace effect, ignoring all traces.

runTrace (trace s) = pure ()
runTrace (pure a) = pure a

Since: 1.0.0.0

newtype TraceC m a Source #

Since: 1.0.0.0

Constructors

TraceC (m a) 

Instances

Instances details
MonadTrans TraceC Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

lift :: Monad m => m a -> TraceC m a #

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

Defined in Control.Carrier.Trace.Ignoring

Methods

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

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

return :: a -> TraceC m a #

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

Defined in Control.Carrier.Trace.Ignoring

Methods

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

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

MonadFix m => MonadFix (TraceC m) Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

mfix :: (a -> TraceC m a) -> TraceC m a #

MonadFail m => MonadFail (TraceC m) Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

fail :: String -> TraceC m a #

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

Defined in Control.Carrier.Trace.Ignoring

Methods

pure :: a -> TraceC m a #

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

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

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

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

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

Defined in Control.Carrier.Trace.Ignoring

Methods

liftIO :: IO a -> TraceC m a #

Alternative m => Alternative (TraceC m) Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

empty :: TraceC m a #

(<|>) :: TraceC m a -> TraceC m a -> TraceC m a #

some :: TraceC m a -> TraceC m [a] #

many :: TraceC m a -> TraceC m [a] #

MonadPlus m => MonadPlus (TraceC m) Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

mzero :: TraceC m a #

mplus :: TraceC m a -> TraceC m a -> TraceC m a #

Algebra sig m => Algebra (Trace :+: sig) (TraceC m) Source # 
Instance details

Defined in Control.Carrier.Trace.Ignoring

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (TraceC m) -> (Trace :+: sig) n a -> ctx () -> TraceC m (ctx a) Source #

Trace effect