jukebox-0.1.4: A first-order reasoning toolbox

Safe HaskellSafe-Inferred
LanguageHaskell98

Jukebox.UnionFind

Documentation

type UF a = State (S a) Source

data Replacement a Source

Constructors

a :> a 

(=:=) :: (Hashable a, Ord a) => a -> a -> UF a (Maybe (Replacement a)) Source

rep :: (Hashable a, Ord a) => a -> UF a a Source

evalUF :: S a -> UF a b -> b Source

execUF :: S a -> UF a b -> S a Source

runUF :: S a -> UF a b -> (b, S a) Source

type S a = Map a a Source

isRep :: (Hashable a, Ord a) => a -> UF a Bool Source

reps :: (Hashable a, Ord a) => UF a (a -> a) Source