Semigroups, specialized containers and a general map/reduce framework

Version on this page:3.12.4@rev:2
LTS Haskell 22.23:3.12.4@rev:6
Stackage Nightly 2024-05-28:3.12.4@rev:6
Latest on Hackage:3.12.4@rev:6

See all snapshots reducers appears in

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett
This version can be pinned in stack with:reducers-3.12.4@sha256:cb418f2f9f72fda13b6bd0f227f1c64fe6adce640ccb29ee06ed14e4c0cd26ca,2587


Hackage Build Status

This package provides a number of semigroup-based containers and reductions.

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


3.12.4 [2021.11.01]

  • Allow building with GHC 9.2.
  • Allow building with transformers-0.6.*.

3.12.3 [2018.07.03]

  • Fix some RULES warnings.
  • Allow building with containers-0.6.


  • Fix the build with fingertree-0.1.2 or later. Since fingertree-0.1.2 now provides a Semigroup instance for FingerTree, as a result Data.Semigroup.Instances no longer exports anything if building against fingertree-0.1.2 or later with base-4.9 or later.
  • Removed a couple of redundant instance constraints
  • GHC 8 compatibility
  • transformers 0.5 compatibility


  • Restored support for semigroups < 0.17.


  • semigroups 0.17 support


  • Fixed the name of the field accessor for Ap
  • semigroupoids 5 support
  • Builds without warnings on GHC 7.10


  • Updated dependencies

  • Updated array dependency for compatibility with GHC 7.8


  • Claim to be Trustworthy


  • Removed the upper bounds on my other package dependencies