these: An either-or-both data type.

[ bsd3, data, library, these ] [ Propose Tags ]

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").

data These a b = This a | That b | These a b

Since version 1, this package was split into parts:

Versions [faq] 0.2, 0.3, 0.4, 0.4.1, 0.4.2, 0.6.0.0, 0.6.1.0, 0.6.2.0, 0.6.2.1, 0.7, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.8, 0.8.1, 1, 1.0.1
Change log CHANGELOG.md
Dependencies aeson (>=1.4.2.0 && <1.5), assoc (>=1 && <1.1), base (>=4.5.1.0 && <4.14), base-compat (>=0.10.5 && <0.12), bifunctors (>=5.5.4 && <5.6), binary (>=0.5.1.0 && <0.10), deepseq (>=1.3.0.0 && <1.5), ghc-prim, hashable (>=1.2.7.0 && <1.4), QuickCheck (>=2.12.6.1 && <2.14), semigroupoids (>=5.3.2 && <5.4), semigroups (>=0.18.5 && <0.20), transformers (>=0.3.0.0 && <0.6), transformers-compat (>=0.6.5 && <0.7), unordered-containers (>=0.2.8.0 && <0.3) [details]
License BSD-3-Clause
Author C. McCann, Oleg Grenrus
Maintainer Oleg Grenrus <oleg.grenrus@iki.fi>
Revised Revision 1 made by phadej at Sat Sep 7 07:39:22 UTC 2019
Category Data, These
Home page https://github.com/isomorphism/these
Source repo head: git clone https://github.com/isomorphism/these.git
Uploaded by phadej at Fri Jul 26 08:19:44 UTC 2019
Distributions Debian:0.7.4, LTSHaskell:0.7.6, NixOS:1.0.1, Stackage:1
Downloads 15458 total (578 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-07-26 [all 1 reports]

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
aeson

Build with aeson dependency

EnabledManual
assoc

Build with assoc dependency

EnabledManual
semigroupoids

Build with semigroupoids dependency

EnabledManual
quickcheck

Build with QuickCheck dependency

EnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees