equivalence

Maintaining an equivalence relation implemented as union-find using STT.

https://github.com/pa-ba/equivalence

Version on this page:0.4
LTS Haskell 22.14:0.4.1
Stackage Nightly 2024-03-28:0.4.1
Latest on Hackage:0.4.1

See all snapshots equivalence appears in

BSD-3-Clause licensed by Patrick Bahr
Maintained by [email protected]
This version can be pinned in stack with:equivalence-0.4@sha256:2241d6548db9c0f4ace54a4d957d97d8f9de13829ebf81764400d9a94c7034a2,2485

Module documentation for 0.4

This is an implementation of Tarjan's Union-Find algorithm (Robert E. Tarjan. "Efficiency of a Good But Not Linear Set Union Algorithm", JACM 22(2), 1975) in order to maintain an equivalence relation. This implementation is a port of the union-find package using the ST monad transformer (instead of the IO monad).

Changes

0.4

  • remove ErrorT instance for compatibility with transformers-0.6 and mtl-2.3

0.3.5

  • compatibility with GHC 8.8

0.3.4

  • MonadFail instance for EquivT

0.3.3

  • compatibility with GHC 8.6

0.3.2

  • add Applicative constraints for backwards compatibility with GHC 7.8

0.3.1

  • use transformers-compat for backwards compatibility with older versions of transformers

0.3.0.1

  • add CHANGES.txt to .cabal file

0.3

  • add suport for Control.Monad.Except (thus the new dependency constraint ‘mtl >= 2.2.1’)