packages feed

monadloc-0.7: monadloc.cabal

name: monadloc
version: 0.7
Cabal-Version:  >= 1.6
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: provisional
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 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.

Library
  buildable: True
  build-depends: base >= 4 && < 5, template-haskell, transformers
  
  ghc-options: -Wall -fno-warn-orphans
  exposed-modules:
     Control.Monad.Loc
     Control.Monad.Loc.TH
     Control.Monad.Loc.Transformers

source-repository head
  type:     git
  location: git://github.com/pepeiborra/monadloc.git