trace-0.1.0.0: A monad transformer for tracing provenience of errors

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Trace

Synopsis

Documentation

newtype TraceT t e m α Source

A concrete monad transformer Trace t e m where t is the type of tags/breadcrumbs, e is the type of errors, and m is the underlying monad.

Constructors

TraceT 

Fields

_traceT :: EitherT (State (Seq t) e) m α
 

Instances

MonadBase b m => MonadBase b (TraceT t e m) 
MonadBaseControl b m => MonadBaseControl b (TraceT t e m) 
Functor m => MonadTrace t (TraceT t e m) 
MonadTrans (TraceT t e) 
MonadTransControl (TraceT t e) 
Monad m => Monad (TraceT t e m) 
Monad m => Functor (TraceT t e m) 
Monad m => Applicative (TraceT t e m) 
MonadIO m => MonadIO (TraceT t e m) 
data StT (TraceT t e) = StTraceT {} 
data StM (TraceT t e m) = StMTraceT {} 

runTraceT :: (Functor m, Monad m) => TraceT t e m α -> EitherT (ErrorTrace t e) m α Source

Run a traced traced computation to get either its result, or an error and its provenience (ErrorTrace).