invariant

Haskell 98 invariant functors https://github.com/nfrisby/invariant-functors

Version on this page:0.4
LTS Haskell 8.2:0.4
Stackage Nightly 2017-02-20:0.4
Latest on Hackage:0.4
BSD3 licensed by Nicolas Frisby
Maintained by Nicolas Frisby, Ryan Scott

Module documentation for 0.4

invariant

Hackage Hackage Dependencies [Haskell Programming Language][Haskell.org] [BSD3 License][tl;dr Legal: BSD3] Build

http://hackage.haskell.org/package/invariant "invariant package on Hackage" [Haskell.org]: http://www.haskell.org "The Haskell Programming Language" [tl;dr Legal: BSD3]: https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29 "BSD 3-Clause License (Revised)"

Haskell98 invariant functors

Changes

0.4

  • Allow TH derivation of Invariant(2) instances for datatypes containing unboxed tuple types
  • Ensure Invariant(2) instances are in-scope when importing Data.Functor.Invariant
  • Add Invariant and Invariant2 instances for Kleisli and Cokleisli
  • Add Category and Arrow-like instances for WrappedProfunctor

0.3.1

  • Rewrote Data.Functor.Invariant.TH's type inferencer. This avoids a nasty GHC 7.8-specific bug involving derived Invariant(2) instances for data families.
  • Add Invariant instances for Data.Complex.Complex, Data.Monoid.Product, and Data.Monoid.Sum

0.3

  • Require bifunctors-5.2 and profunctors-5.2. Add Invariant(2) instances for newly introduced datatypes from those packages.
  • Add ProfunctorFunctor, ProfunctorMonad, ProfunctorComonad, Mapping, and Traversing instances for WrappedProfunctor
  • Add StateVar as a dependency. Add Invariant instances for StateVar and SettableStateVar.
  • Add Invariant instances for URec (added to GHC.Generics in base-4.9.0.0)

0.2.2

  • Add genericInvmap function (and make it the default implementation of invmap for Invariant instances) on GHC 7.2 or later
  • Make Tagged instance poly-kinded

0.2.1

  • Add Foldable and Traversable instances for WrappedFunctor
  • Fixed build on GHC HEAD

0.2

  • Support deriving Invariant and Invariant2 instances with Template Haskell
  • Added invmapFunctor, invmapContravariant, invmap2Bifunctor, and invmap2Profunctor to make defining Invmap and Invmap2 instances somewhat easier
  • Added WrappedFunctor, WrappedContravariant, WrappedBifunctor, and WrappedProfunctor data types to allow use of invmap and invmap2 for data types that aren't Invariant or Invariant2 instances.
  • Added Invariant instances for lazy ST, ArrowMonad, Handler, Identity, First, Last, Alt, Proxy, ArgDescr, ArgOrder, and OptDescr
  • Added Invariant and Invariant2 instances for data types in the array, bifunctors, containers, profunctors, semigroups, stm, tagged, transformers, and unordered-containers libraries

0.1.2

  • Add Invariant instances for Dual and Endo

0.1.1

  • Bump contravariant upper version bounds

0.1.0

  • Initial commit
comments powered byDisqus