uhc-util-0.1.3.2: UHC utilities

Safe HaskellSafe-Inferred

UHC.Util.Rel

Documentation

type Rel a b = Set (a, b)Source

toList :: Rel a b -> [(a, b)]Source

fromList :: (Ord a, Ord b) => [(a, b)] -> Rel a bSource

singleton :: (Ord a, Ord b) => a -> b -> Rel a bSource

dom :: (Ord a, Ord b) => Rel a b -> Set aSource

rng :: (Ord a, Ord b) => Rel a b -> Set bSource

restrictDom :: (Ord a, Ord b) => (a -> Bool) -> Rel a b -> Rel a bSource

restrictRng :: (Ord a, Ord b) => (b -> Bool) -> Rel a b -> Rel a bSource

mapDom :: (Ord a, Ord b, Ord x) => (a -> x) -> Rel a b -> Rel x bSource

mapRng :: (Ord a, Ord b, Ord x) => (b -> x) -> Rel a b -> Rel a xSource

partitionDom :: (Ord a, Ord b) => (a -> Bool) -> Rel a b -> (Rel a b, Rel a b)Source

partitionRng :: (Ord a, Ord b) => (b -> Bool) -> Rel a b -> (Rel a b, Rel a b)Source

intersection :: (Ord a, Ord b) => Rel a b -> Rel a b -> Rel a bSource

difference :: (Ord a, Ord b) => Rel a b -> Rel a b -> Rel a bSource

union :: (Ord a, Ord b) => Rel a b -> Rel a b -> Rel a bSource

unions :: (Ord a, Ord b) => [Rel a b] -> Rel a bSource

apply :: (Ord a, Ord b) => Rel a b -> a -> [b]Source

toDomMap :: Ord a => Rel a b -> Map a [b]Source

toRngMap :: Ord b => Rel a b -> Map b [a]Source

mapDomRng :: (Ord a, Ord b, Ord a', Ord b') => ((a, b) -> (a', b')) -> Rel a b -> Rel a' b'Source