equivalence

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

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

Version on this page:0.3.5
LTS Haskell 22.37:0.4.1
Stackage Nightly 2024-10-08: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.5@sha256:aedbd070b7ab5e58dd1678cd85607bc33cb9ff62331c1fa098ca45063b3072db,1626

Module documentation for 0.3.5

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