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 Control.Monad.Loc module
This package provides no implementation of the Control.Monad.Loc.MonadLoc interface.
Currently the only package that does so is control-monad-exception,
but any other package can implement it and provide monadic call traces.
Changes:
0.7 - Extracted Template Haskell macro to separate module to allow Control.Monad.Loc to be Safe. (thanks to Deian Stefan)
0.6 - Extracted the preprocessor to a separate package monadloc-pp to minimize the set of dependencies.