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