Adjunctions and representable functors

Version on this page:4.2.1@rev:1
LTS Haskell 18.0:4.4@rev:2
Stackage Nightly 2021-06-14:4.4@rev:2
Latest on Hackage:4.4@rev:2

See all snapshots adjunctions appears in

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:adjunctions-4.2.1@sha256:a36b8a272455149715fb58c1d8c2a40762ee15bc9cc46145b5e1d6fdc3825248,1972

Module documentation for 4.2.1


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



  • 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.