packages feed

tagged-exception-core-2.0.0.0: tagged-exception-core.cabal

Name:               tagged-exception-core
Version:            2.0.0.0
Synopsis:           Reflect exceptions using phantom types.
Description:
  This library provides interface similar to /extensible-exceptions/.  It
  introduces @Throws@ monad transformer that uses phantom type to tag code that
  may raise exception.  Intention is to make exceptions explicit and to enforce
  exception handling.
Homepage:           https://github.com/trskop/tagged-exception
Bug-reports:        https://github.com/trskop/tagged-exception/issues
Copyright:          Copyright (c) 2009 - 2014, Peter Trsko
License:            BSD3
License-file:       LICENSE
Author:             Peter Trsko
Maintainer:         peter.trsko@gmail.com
Category:
    Control
  , Error Handling
  , Exceptions
  , Failure
  , Monad
  , Monads
  , Phantom Types

Build-type:         Simple
Cabal-version:      >= 1.10
-- Tested-with:
Extra-source-files: ChangeLog.md

Flag pedantic
  Description:
    Pass additional flags, including -Werror, to GHC during compilation.
  Default:          False
  Manual:           True

Flag base-ge-4_2
  Description:      Depend on base >= 4.2 && < 4.6.
  Default:          False

Library
  Hs-source-dirs:   src
  Exposed-modules:
      Control.Monad.TaggedException
    , Control.Monad.TaggedException.Core
    , Control.Monad.TaggedException.Hidden
    , Control.Monad.TaggedException.Internal.Throws
    , Control.Monad.TaggedException.Unsafe
    , Control.Monad.TaggedException.Utilities

  Default-language: Haskell2010

  if flag(base-ge-4_2)
    Build-depends:
        base >= 4.2 && < 4.8
  else
    Build-depends:
        base >= 4 && < 4.2
      , extensible-exceptions >= 0.1.1.3
  Build-depends:
      exceptions > 0.6 && < 0.7
    -- ^ Interface of this package changed a lot between minor versions,
    -- therefore trying conservative approach. Dependency introduced in
    -- tagged-exception-core-2.0.0.0.
    , transformers >= 0.2 && < 0.4
    , mmorph >= 1.0.0 && < 1.1
    -- ^ Dependency introduced in tagged-exception-core-1.2.0.0.

  if impl(ghc >= 7.8.1)
    CPP-options:    -DKIND_POLYMORPHIC_TYPEABLE

  GHC-options:      -Wall
  if impl(GHC >= 6.8)
    GHC-options:    -fwarn-tabs
  if impl(GHC >= 7.2)
    GHC-options:    -fwarn-identities
  if flag(pedantic)
    GHC-options:
      -fwarn-implicit-prelude
      -fwarn-missing-import-lists
      -Werror

source-repository head
  type:             git
  location:         git://github.com/trskop/tagged-exception.git