File these.cabal of Package ghc-these

Name:                these
Version:             0.7.3
x-revision:          4
Synopsis:            An either-or-both data type & a generalized 'zip with padding' typeclass
Homepage:            https://github.com/isomorphism/these
License:             BSD3
License-file:        LICENSE
Author:              C. McCann
Maintainer:          cam@uptoisomorphism.net
Category:            Data,Control
Build-type:          Simple
Extra-source-files:  README.md, CHANGELOG.md
Cabal-version:       >=1.8
Description:
  This package provides a data type @These a b@ which can hold a value of either
  type or values of each type. This is usually thought of as an "inclusive or"
  type (contrasting @Either a b@ as "exclusive or") or as an "outer join" type
  (contrasting @(a, b)@ as "inner join").
  .
  The major use case of this is provided by the @Align@ class, representing a
  generalized notion of "zipping with padding" that combines structures without
  truncating to the size of the smaller input.
  .
  Also included is @ChronicleT@, a monad transformer based on the Monad instance
  for @These a@, along with the usual monad transformer bells and whistles.

source-repository head
  type: git
  location: https://github.com/isomorphism/these.git

Library
  Exposed-modules:     Data.These,
                       Data.Align,
                       Data.Align.Key,
                       Control.Monad.Chronicle,
                       Control.Monad.Chronicle.Class,
                       Control.Monad.Trans.Chronicle

  Build-depends:       base                     >= 4.4     && < 4.10,
                       aeson                    >= 0.7.0.4 && < 1.3,
                       bifunctors               >= 0.1     && < 5.5,
                       binary                   >= 0.5.0.2 && < 0.9,
                       containers               >= 0.4     && < 0.6,
                       data-default-class       >= 0.0     && < 0.2,
                       deepseq                  >= 1.3.0.0 && < 1.5,
                       hashable                 >= 1.2.3   && < 1.3,
                       keys                     >= 3.10    && < 3.12,
                       mtl                      >= 2       && < 2.3,
                       profunctors              >= 3       && < 5.3,
                       QuickCheck               >= 2.8     && < 2.9.3,
                       semigroupoids            >= 1.0     && < 5.3,
                       transformers             >= 0.2     && < 0.6,
                       transformers-compat      >= 0.2     && < 0.6,
                       unordered-containers     >= 0.2     && < 0.3,
                       vector                   >= 0.4     && < 0.13,
                       vector-instances         >= 3.3.1   && < 3.5
  if impl(ghc <7.5)
    build-depends:     ghc-prim

  if !impl(ghc >= 8.0)
    build-depends:
                       semigroups               >= 0.8   && < 0.19

  ghc-options:         -Wall

test-suite test
  type:                exitcode-stdio-1.0
  main-is:             Tests.hs
  hs-source-dirs:      test
  ghc-options:         -Wall
  build-depends:       these,
                       base                    >= 4.5,
                       quickcheck-instances    >= 0.3.6 && < 0.3.13,
                       tasty                   >= 0.10  && < 0.12,
                       tasty-quickcheck        >= 0.8   && < 0.9,
                       aeson,
                       bifunctors,
                       binary,
                       containers,
                       hashable,
                       QuickCheck,
                       transformers,
                       unordered-containers,
                       vector
openSUSE Build Service is sponsored by