monadloc-0.7.1: A class for monads which can keep a monadic call trace
Safe HaskellSafe
LanguageHaskell98

Control.Monad.Loc

Description

This package defines a MonadLoc class for monads which support Monadic Call Traces. See http://pepeiborra.posterous.com/monadic-stack-traces-that-make-a-lot-of-sense

  • Traces are only provided for explicitly annotated program points.
  • This package installs the MonadLoc preprocessor for this purpose. To enable it include the following pragma at the top of your haskell source files:
     { -# OPTIONS_GHC -F -pgmF MonadLoc #- }
Synopsis

Documentation

class Monad m => MonadLoc m where Source #

Generating stack traces for failures

Methods

withLoc :: String -> m a -> m a Source #

withLoc records the given source location in the failure trace if the underlying monad supports recording location traces

Instances

Instances details
Monad m => MonadLoc m Source # 
Instance details

Defined in Control.Monad.Loc

Methods

withLoc :: String -> m a -> m a Source #

MonadLoc m => MonadLoc (ListT m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> ListT m a -> ListT m a Source #

(Monoid w, MonadLoc m) => MonadLoc (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> WriterT w m a -> WriterT w m a Source #

(Monoid w, MonadLoc m) => MonadLoc (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> WriterT w m a -> WriterT w m a Source #

MonadLoc m => MonadLoc (StateT s m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> StateT s m a -> StateT s m a Source #

MonadLoc m => MonadLoc (StateT s m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> StateT s m a -> StateT s m a Source #

MonadLoc m => MonadLoc (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> ReaderT r m a -> ReaderT r m a Source #

(Error e, MonadLoc m) => MonadLoc (ErrorT e m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> ErrorT e m a -> ErrorT e m a Source #

(Monoid w, MonadLoc m) => MonadLoc (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> RWST r w s m a -> RWST r w s m a Source #

(Monoid w, MonadLoc m) => MonadLoc (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Loc.Transformers

Methods

withLoc :: String -> RWST r w s m a -> RWST r w s m a Source #