packages feed

associative-0.0.4: changelog.md

0.0.4

* Generalised `MonoidOp` to monad transformer `MonoidOpT f a b i` with type aliases `MonoidOp a b i`, `MonoidOpT' f x`, `MonoidOp' x`
* Generalised `PartialMonoidOp` to monad transformer `PartialMonoidOpT f a b i` with type aliases `PartialMonoidOp a b i`, `PartialMonoidOpT' f x`, `PartialMonoidOp' x`
* New `iMonoidOpT` isomorphism for the transformer variant
* New `iPartialMonoidOpT` isomorphism for the transformer variant
* New `runMonoidOpT`, `identityMonoidOpT` for `MonoidOpT`
* New `runPartialMonoidOpT`, `identityPartialMonoidOpT` for `PartialMonoidOpT`
* New `defaultSemigroupOpT` converting a partial semigroup to a total one given a default value
* New `defaultMonoidOp` converting a partial monoid to a total one given a default value
* Classy optics renamed: `HasMonoidOp`/`AsMonoidOp` to `HasMonoidOpT`/`AsMonoidOpT`, `HasPartialMonoidOp`/`AsPartialMonoidOp` to `HasPartialMonoidOpT`/`AsPartialMonoidOpT`
* Law-checking functions (`monoidLawAssociative`, `monoidLawLeftIdentity`, `monoidLawRightIdentity`, `pmonoidLawAssociative`, `pmonoidLawLeftIdentity`, `pmonoidLawRightIdentity`) now work in any `Monad f` rather than being pure

0.0.3

* New `nonPartialSemigroup` isomorphism witnessing that `PartialSemigroupOpT (Const b) a b` is isomorphic to `SemigroupOp a b`
* New `nonPartialMonoid` isomorphism converting between `(PartialSemigroupOpT (Const a) a a, a)` and `MonoidOp a`
* Fixed name-shadowing warning in `psemigroupLawAssociative`
* Qualified all imports, ormolu formatting

0.0.2

* Wrapper values (`semigroupMaybe`, `semigroupDual`, `semigroupDown`, `semigroupIdentity`, `semigroupTuple`, `semigroupWrappedMonoid`, `semigroupFunction`, and their `psemigroup`/`monoid`/`pmonoid` counterparts) now take an explicit `SemigroupOp'` or `MonoidOp` parameter instead of using `Semigroup`/`Monoid` class constraints
* New `Apply` sequencing values: `semigroupApplyThen`, `semigroupApplyFirst`, `psemigroupApplyThen`, `psemigroupApplyFirst`
* New `Applicative` sequencing values: `semigroupApplicativeThen`, `semigroupApplicativeFirst`, `psemigroupApplicativeThen`, `psemigroupApplicativeFirst`
* New functor-lifting combinators: `semigroupLiftF2`, `semigroupLiftA2`, `psemigroupLiftF2`, `psemigroupLiftA2`, `monoidLiftF2`, `monoidLiftA2`, `pmonoidLiftF2`, `pmonoidLiftA2`

0.0.1

* This change log starts