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