uhc-util-0.1.3.5: UHC utilities
UHC.Util.Rel
type Rel a b = Set (a, b)Source
empty :: Rel a bSource
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