monadloc-0.3: monadloc.cabal
name: monadloc
version: 0.3
Cabal-Version: >= 1.2.3
build-type: Simple
license: PublicDomain
author: Pepe Iborra
maintainer: pepeiborra@gmail.com
homepage: http://github.com/pepeiborra/monadloc
synopsis: A class for monads which can keep a monadic call trace
category: Control, Monads
stability: experimental
description:
This package defines a class for monads which can keep a monadic call trace.
.
* See the blog post <http://pepeiborra.posterous.com/monadic-stack-traces-that-make-a-lot-of-sense> for more information.
.
A preprocessor is provided which can insert 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.
Flag syb-in-base
default: False
Library
buildable: True
build-depends: pretty, template-haskell
if flag(syb-in-base)
build-depends: base >= 3 && < 4
else
build-depends: base >= 4 && < 5, syb
ghc-options: -Wall
extensions: FlexibleInstances, OverlappingInstances, UndecidableInstances, TemplateHaskell, PatternGuards
exposed-modules:
Control.Monad.Loc
Executable MonadLoc
buildable: True
build-depends: haskell-src-exts
main-is: MonadLoc.hs
ghc-options: -Wall -fno-warn-name-shadowing