True folds and getters for microlens


Version on this page:
LTS Haskell 21.13:
Stackage Nightly 2023-09-25:
Latest on Hackage:

See all snapshots microlens-contra appears in

BSD-3-Clause licensed by Edward Kmett, Artyom Kazak
Maintained by Monadfix
This version can be pinned in stack with:microlens-contra-,1811

Module documentation for

This package provides Fold and Getter that are fully compatible with lens; the downside is that this package depends on contravariant, which in its turn depends on a lot of other packages (but still less than lens).

The difference between Fold and SimpleFold is that you can use e.g. takingWhile/droppingWhile and backwards on the former but not on the latter. Most functions from lens that work with Fold would work with SimpleFold as well, tho.

Starting from GHC 8.6, this package doesn't depend on contravariant anymore.

This package is a part of the microlens family; see the readme on Github.


  • Removed the contravariant dependency for GHC 8.6 and later.

  • Added forgotten copyright/authorship information.

Initial release.