equivalence

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

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

Version on this page:0.3.5@rev:1
LTS Haskell 20.23:0.4.1
Stackage Nightly 2023-06-04:0.4.1
Latest on Hackage:0.4.1

See all snapshots equivalence appears in

BSD-3-Clause licensed by Patrick Bahr
Maintained by paba@itu.dk
This version can be pinned in stack with:equivalence-0.3.5@sha256:64962b435d59b2738e1fd058e9be8ee0be42d2726f4d542ead148522f1478665,1662

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