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

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Trace

Synopsis

Documentation

data TraceT t e m α Source

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

Instances

MonadBase b m => MonadBase b (TraceT t e m) 
MonadBaseControl b m => MonadBaseControl b (TraceT t e m) 
Monad m => MonadError e (TraceT t e m) 
Monad m => MonadTrace t (TraceT t e m) 
MonadTrans (TraceT t e) 
MonadTransControl (TraceT t e) 
(Monad m, Monoid e) => Alternative (TraceT t e m) 
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 α -> m (Either (ErrorTrace t e) α) Source

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