# The these package

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.

[Skip to Readme]

## Properties

Versions | 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 |
---|---|

Change log | CHANGELOG.md |

Dependencies | aeson (>=0.7.0.4 && <1.1), base (>=4.4 && <4.10), 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), ghc-prim, hashable (>=1.2.3 && <1.3), keys (>=3.10 && <3.12), mtl (>=2 && <2.3), profunctors (>=3 && <5.3), QuickCheck (>=2.8 && <2.9.2), semigroupoids (>=1.0 && <5.2), semigroups (>=0.8 && <0.19), transformers (>=0.2 && <0.6), transformers-compat (>=0.2 && <0.6), unordered-containers (==0.2.*), vector (>=0.4 && <0.12), vector-instances (>=3.3.1 && <3.4) [details] |

License | BSD3 |

Author | C. McCann |

Maintainer | cam@uptoisomorphism.net |

Stability | Unknown |

Category | Data, Control |

Home page | https://github.com/isomorphism/these |

Source repository | head: git clone https://github.com/isomorphism/these.git |

Uploaded | Sun Aug 7 18:05:55 UTC 2016 by phadej |

Distributions | LTSHaskell:0.6.2.1, NixOS:0.7.2, Stackage:0.7.2, Tumbleweed:0.6.2.1 |

Downloads | 2587 total (34 in the last 30 days) |

Votes | |

Status | Docs pending Build status unknown [no reports yet] |

## Modules

*Control**Monad*- Control.Monad.Chronicle
- Control.Monad.Chronicle.Class

*Trans*- Control.Monad.Trans.Chronicle

- Control.Monad.Chronicle

*Data*- Data.Align
- Data.Align.Key

- Data.These

- Data.Align

## Downloads

- these-0.7.2.tar.gz [browse] (Cabal source package)
- Package description (included in the package)