BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for 4.4

This version can be pinned in stack with:adjunctions-4.4@sha256:2738dd5f5d5e93749adb14a05472e58a96a75d0f299e46371c6f46dc4e97daf9,3067


Hackage Build Status

This package provides adjunctions for Haskell.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett


4.4 [2018.01.28]

  • Added imapRep, ifoldMapRep, itraverseRep to make it easier to define representable FunctorWithIndex, FoldableWithIndex, TraversableWithIndex instances from the lens package.
  • Add GHC.Generics-based default implementation for Data.Functor.Rep.Representable instances
  • Add Data.Functor.Rep.Representable instances for Backwards, Reverse, and the datatypes in GHC.Generics.
  • Add Data.Functor.Adjunction.Adjunction instances for some datatypes in GHC.Generics
  • Add Data.Functor.Contravariant.Rep.Representable instances for U1 and (:*:) from GHC.Generics
  • Add collectRep and imapRep functions to Data.Functor.Rep.
  • Add MINIMAL pragmas to the Adjunction classes.
  • Allow free-5.


  • Removed a spurious superclass constraint for Applicative (StoreT g w)
  • GHC 8 support
  • comonad 5 support


  • Builds clean on GHC 7.10


  • semigroupoids 5 support.
  • profunctors 5 support.


  • contravariant 1.0 support. Day convolution moves to kan-extensions.


  • Silenced Control.Monad.Instances deprecation warnings on GHC 7.8


  • Added mfixRep to make it easier to define representable MonadFix instances.
  • Added mzipRep and mzipWithRep to make it easier to define representable MonadZip instances.
  • Added duplicateRepBy, extendRepBy and extractRepBy to make it easier to pick your own Monoid.
  • Minor documentation fixes.


  • Increased lower bound on contravariant to match the actual requirement.


  • Merged the contents of representable-functors.
  • Removed the dependency on keys.
  • Moved Data.Functor.Contravariant.Representable to Data.Functor.Contravariant.Rep and made the API mimic Data.Profunctor.Rep.
  • Moved Data.Functor.Representable to Data.Functor.Rep and made the API mimic Data.Profunctor.Rep.
  • Added Tagged and Proxy instances for Data.Functor.Rep.Representable
  • Added a Proxy instance for Data.Functor.Contravariant.Rep.Representable

  • Updated the array dependency


  • Marked modules appropriately Trustworthy.


  • Updated to representable-functors 3.1, which changed the API for contravariant representable functors.