This package defines a class for monads which can keep a monadic call trace.
See the blog post http://pepeiborra.wordpress.com/2009/11/01/monadic-stack-traces-that-make-a-lot-of-sense for more information.
A preprocessor is available (see the package monadloc-pp) which inserts calls
to "Control.Monad.Loc.withLoc" before every monadic statement in a module.
To invoke the preprocessor, add the pragma
OPTIONS_GHC -F -pgmF MonadLoc at the top of your Haskell files together with an import for the
This package provides no implementation of the
Currently the only package that does so is
but any other package can implement it and provide monadic call traces.
0.7 - Extracted Template Haskell macro to separate module to allow
Control.Monad.Locto be Safe. (thanks to Deian Stefan)
0.6 - Extracted the preprocessor to a separate package
monadloc-ppto minimize the set of dependencies.