Changelog for these-1
1
This is major package reogranisation. Old these
were split into
these
providing onlyThese
type and some combinatorsthese-lens
providing lens combinatorssemialign
providingSemialign
,Align
,Zip
,Unalign
andUnzip
classessemialign-indexed
providingSemialignWithIndex
(izipWith
andialignWith
members).monad-chronicle
providingChronicleT
andMonadChronicle
Also noticeable change is unalign :: f (These a b) -> (f a, f b)
.
For the old f (These a b) -> (f (Maybe a), f (Maybe b))
use unzipWith (unalign . Just)
.
- Many instances are added.
- Since annotations are removed for all but
these
package.
0.8.1
- Add
Semialign
Tree
,Tagged
,(->) e
;Align
Compose
andProxy
instances - Allow
semigroups-0.19
andhashable-1.3
0.8.0
- Split
align
andalignWith
into own class:Semialign
. ialign
has default implementation- Add
Semialign
NonEmpty
andIdentity
instances - Add
Swap
andAssoc
instances (type classes fromassoc
package) - Move optics into
Data.These.Lens
module, and and some combinatorsData.These.Combinators
. Also some combinators are renamed, so naming is now consistent. As the resultData.These
has very minimal exports. - Change type of
partitionThese
(nested pairs to triple) - Add
partitionHereThere :: [These a b] -> ([a],[b])
0.7.6
- Tigthen lower bounds
- Add dependency on
lens
- Add
assoc
,reassoc
,swap
andSwapped
instance - Add since annotations for things added in 0.7.x
- Add
AlignWithKey ZipList
instance - Add
Data.Align.Indexed
module. - Add
Data.Functor.These
withThese1
data type. - Add associativity law
- Add
toList
property to enforce "align"-feel. Map
andIntMap
Align
instances implemented using merge combinators (when available)
0.7.5
- Add
Compose
and(,)
Crosswalk
instances - Add
bitraverseThese
- GHC-8.6 support
0.7.4
QuickCheck-2.10
support:Arbitrary1/2
instances- GHC-8.2 support
0.7.3
- Add
salign :: (Align f, Semigroup a) => f a -> f a -> f a
0.7.2
- Support
aeson-1
: addFromJSON1
,FromJSON2
ToJSON1
, andToJSON2
These
instances.
0.7.1
- Add
AlignWithKey
inData.Align.Key
(added dependencykeys
) - Add
These
instances forbinary
:Binary
aeson
:FromJSON
,ToJSON
QuickCheck
:Arbitrary
,CoArbitrary
,Function
deepseq
:NFData
0.7
- Breaking change: Generalized
Monad
,Applicative
instances ofThese
andChronicle
to require only aSemigroup
constraint - More efficient
Align Seq
implementation - Add
Crosswalk Seq
andVector
instances
0.6.2.1
- Support quickcheck-instances-0.3.12 (tests)
0.6.2.0
- Add support to bifunctors-5.1