packages feed

monadloc-0.2: monadloc.cabal

name: monadloc
version: 0.2
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 stack trace
category: Control, Monads
stability: experimental
description:
  This package defines a class for monads which can keep a monadic call trace.
  .
  . See 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 withLoc before every monadic statement in a module.
  .
  To invoke the preprocessor, add the following pragma at the top of a source file:
  .
  > {-# OPTIONS_GHC -F -pgmF MonadLoc #-}
  .
  together with an import for the @Control.Monad.Loc@ module
  .
  This package provides no implementation of the 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