name:             base-compat-batteries
version:          0.12.1
x-revision: 2
license:          MIT
license-file:     LICENSE
copyright:        (c) 2012-2018 Simon Hengel,
                 (c) 2014-2018 João Cristóvão,
                 (c) 2015-2018 Ryan Scott
author:           Simon Hengel <[email protected]>,
                 João Cristóvão <[email protected]>,
                 Ryan Scott <[email protected]>
maintainer:       Simon Hengel <[email protected]>,
                 João Cristóvão <[email protected]>,
                 Ryan Scott <[email protected]>
build-type:       Simple
cabal-version:    >= 1.10
category:         Compatibility
synopsis:         base-compat with extra batteries
description:      Provides functions available in later versions of @base@ to
                 a wider range of compilers, without requiring you to use CPP
                 pragmas in your code.
                 .
                 This package provides the same API as the
                 @<http://hackage.haskell.org/package/base-compat base-compat>@
                 library, but depends on compatibility packages
                 (such as @semigroups@) to offer a wider support window than
                 @base-compat@, which has no dependencies. Most of the modules
                 in this library have the same names as in @base-compat@
                 to make it easier to switch between the two. There also exist
                 versions of each module with the suffix @.Repl.Batteries@,
                 which are distinct from anything in @base-compat@, to allow
                 for easier use in GHCi.
                 .
                 See
                 @<https://github.com/haskell-compat/base-compat/blob/master/base-compat/README.markdown#dependencies here>@
                 for a more comprehensive list of differences between
                 @base-compat@ and @base-compat-batteries@.
extra-source-files: CHANGES.markdown, README.markdown

source-repository head
 type: git
 location: https://github.com/haskell-compat/base-compat
 subdir: base-compat-batteries

library
 ghc-options:
     -Wall
 default-language:
     Haskell2010
 build-depends:
     base        >= 4.3 && < 5,
     base-compat == 0.12.1,
     ghc-prim
 if !impl(ghc >= 7.8)
   build-depends:
     tagged >= 0.8.5 && < 0.9
 if !impl(ghc >= 7.10)
   build-depends:
     nats >= 1.1.2 && < 1.2,
     void >= 0.7.2 && < 0.8
 if !impl(ghc >= 8.0)
   build-depends:
     fail                >= 4.9.0.0 && < 4.10,
     semigroups          >= 0.18.4  && < 0.21,
     transformers        >= 0.2     && < 0.7,
     transformers-compat >= 0.6     && < 0.8
 if !impl(ghc >= 8.2)
   build-depends:
     bifunctors           >= 5.5.2 && < 5.6,
     type-equality        >= 1     && < 1.1
 if !impl(ghc >= 8.6)
   build-depends:
     contravariant >= 1.5 && < 1.6
 if !impl(ghc >= 9.0)
   build-depends:
     OneTuple >= 0.3 && < 0.4
 ghc-options:
     -fno-warn-duplicate-exports
 if impl(ghc >= 7.10)
   ghc-options: -fno-warn-trustworthy-safe

 hs-source-dirs:
     src

 exposed-modules:
     Control.Concurrent.Compat
     Control.Concurrent.MVar.Compat
     Control.Exception.Compat
     Control.Monad.Compat
     Control.Monad.Fail.Compat
     Control.Monad.IO.Class.Compat
     Control.Monad.ST.Lazy.Unsafe.Compat
     Control.Monad.ST.Unsafe.Compat
     Data.Bifoldable.Compat
     Data.Bifunctor.Compat
     Data.Bitraversable.Compat
     Data.Bits.Compat
     Data.Bool.Compat
     Data.Complex.Compat
     Data.Either.Compat
     Data.Foldable.Compat
     Data.Function.Compat
     Data.Functor.Compat
     Data.Functor.Compose.Compat
     Data.Functor.Const.Compat
     Data.Functor.Contravariant.Compat
     Data.Functor.Identity.Compat
     Data.Functor.Product.Compat
     Data.Functor.Sum.Compat
     Data.IORef.Compat
     Data.List.Compat
     Data.List.NonEmpty.Compat
     Data.Monoid.Compat
     Data.Proxy.Compat
     Data.Ratio.Compat
     Data.Semigroup.Compat
     Data.STRef.Compat
     Data.String.Compat
     Data.Tuple.Compat
     Data.Type.Coercion.Compat
     Data.Type.Equality.Compat
     Data.Version.Compat
     Data.Void.Compat
     Data.Word.Compat
     Debug.Trace.Compat
     Foreign.Compat
     Foreign.ForeignPtr.Compat
     Foreign.ForeignPtr.Safe.Compat
     Foreign.ForeignPtr.Unsafe.Compat
     Foreign.Marshal.Alloc.Compat
     Foreign.Marshal.Array.Compat
     Foreign.Marshal.Compat
     Foreign.Marshal.Safe.Compat
     Foreign.Marshal.Unsafe.Compat
     Foreign.Marshal.Utils.Compat
     Numeric.Compat
     Numeric.Natural.Compat
     Prelude.Compat
     System.Environment.Compat
     System.Exit.Compat
     System.IO.Compat
     System.IO.Error.Compat
     System.IO.Unsafe.Compat
     Text.Read.Compat
     Text.Read.Lex.Compat
     Type.Reflection.Compat

     Control.Concurrent.Compat.Repl.Batteries
     Control.Concurrent.MVar.Compat.Repl.Batteries
     Control.Exception.Compat.Repl.Batteries
     Control.Monad.Compat.Repl.Batteries
     Control.Monad.Fail.Compat.Repl.Batteries
     Control.Monad.IO.Class.Compat.Repl.Batteries
     Control.Monad.ST.Lazy.Unsafe.Compat.Repl.Batteries
     Control.Monad.ST.Unsafe.Compat.Repl.Batteries
     Data.Bifoldable.Compat.Repl.Batteries
     Data.Bifunctor.Compat.Repl.Batteries
     Data.Bitraversable.Compat.Repl.Batteries
     Data.Bits.Compat.Repl.Batteries
     Data.Bool.Compat.Repl.Batteries
     Data.Complex.Compat.Repl.Batteries
     Data.Either.Compat.Repl.Batteries
     Data.Foldable.Compat.Repl.Batteries
     Data.Function.Compat.Repl.Batteries
     Data.Functor.Compat.Repl.Batteries
     Data.Functor.Compose.Compat.Repl.Batteries
     Data.Functor.Const.Compat.Repl.Batteries
     Data.Functor.Identity.Compat.Repl.Batteries
     Data.Functor.Contravariant.Compat.Repl.Batteries
     Data.Functor.Product.Compat.Repl.Batteries
     Data.Functor.Sum.Compat.Repl.Batteries
     Data.IORef.Compat.Repl.Batteries
     Data.List.Compat.Repl.Batteries
     Data.List.NonEmpty.Compat.Repl.Batteries
     Data.Monoid.Compat.Repl.Batteries
     Data.Proxy.Compat.Repl.Batteries
     Data.Ratio.Compat.Repl.Batteries
     Data.Semigroup.Compat.Repl.Batteries
     Data.STRef.Compat.Repl.Batteries
     Data.String.Compat.Repl.Batteries
     Data.Tuple.Compat.Repl.Batteries
     Data.Type.Coercion.Compat.Repl.Batteries
     Data.Type.Equality.Compat.Repl.Batteries
     Data.Version.Compat.Repl.Batteries
     Data.Void.Compat.Repl.Batteries
     Data.Word.Compat.Repl.Batteries
     Debug.Trace.Compat.Repl.Batteries
     Foreign.Compat.Repl.Batteries
     Foreign.ForeignPtr.Compat.Repl.Batteries
     Foreign.ForeignPtr.Safe.Compat.Repl.Batteries
     Foreign.ForeignPtr.Unsafe.Compat.Repl.Batteries
     Foreign.Marshal.Alloc.Compat.Repl.Batteries
     Foreign.Marshal.Array.Compat.Repl.Batteries
     Foreign.Marshal.Compat.Repl.Batteries
     Foreign.Marshal.Safe.Compat.Repl.Batteries
     Foreign.Marshal.Unsafe.Compat.Repl.Batteries
     Foreign.Marshal.Utils.Compat.Repl.Batteries
     Numeric.Compat.Repl.Batteries
     Numeric.Natural.Compat.Repl.Batteries
     Prelude.Compat.Repl.Batteries
     System.Environment.Compat.Repl.Batteries
     System.Exit.Compat.Repl.Batteries
     System.IO.Compat.Repl.Batteries
     System.IO.Error.Compat.Repl.Batteries
     System.IO.Unsafe.Compat.Repl.Batteries
     Text.Read.Compat.Repl.Batteries
     Text.Read.Lex.Compat.Repl.Batteries
     Type.Reflection.Compat.Repl.Batteries
test-suite spec
 type:
     exitcode-stdio-1.0
 ghc-options:
     -Wall
 default-language:
     Haskell2010
 hs-source-dirs:
     test
 main-is:
     Spec.hs
 other-modules:
     Control.Monad.CompatSpec
     Data.Bits.CompatSpec
     Data.Bool.CompatSpec
     Data.Either.CompatSpec
     Data.Foldable.CompatSpec
     Data.Function.CompatSpec
     Data.Functor.CompatSpec
     Data.IORef.CompatSpec
     Data.List.CompatSpec
     Data.Monoid.CompatSpec
     Data.STRef.CompatSpec
     Data.Version.CompatSpec
     Data.Word.CompatSpec
     Foreign.Marshal.Alloc.CompatSpec
     Foreign.Marshal.Utils.CompatSpec
     Numeric.CompatSpec
     Prelude.CompatSpec
     System.Environment.CompatSpec
     Text.Read.CompatSpec

     -- Other tests
     SafeHaskellSpec
     TestHspecTrustworthy
 build-depends:
     base >= 4.3 && < 5
   , base-compat-batteries
   , hspec >= 1.8
   , QuickCheck
 build-tool-depends:
     hspec-discover:hspec-discover >= 1.8