BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:adjunctions-4.4@sha256:2738dd5f5d5e93749adb14a05472e58a96a75d0f299e46371c6f46dc4e97daf9,3067

Module documentation for 4.4


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.