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


Version on this page:0.3.1
LTS Haskell 22.29:0.4.1
Stackage Nightly 2024-07-18: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.3.1@sha256:ba47a5cdb1de9cb6fb3312d3b811b76e3f2a68c1deaf0e0e8895d33a3e17e929,1612

Module documentation for 0.3.1

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


* use transformers-compat for backwards compatibility with older versions of transformers
* add CHANGES.txt to .cabal file

* add suport for Control.Monad.Except (thus the new dependency constraint 'mtl >= 2.2.1')