uhc-util-0.1.3.9: UHC utilities
UHC.Util.Rel
type Rel a b = Set (a, b) Source
empty :: Rel a b Source
toList :: Rel a b -> [(a, b)] Source
fromList :: (Ord a, Ord b) => [(a, b)] -> Rel a b Source
singleton :: (Ord a, Ord b) => a -> b -> Rel a b Source
dom :: (Ord a, Ord b) => Rel a b -> Set a Source
rng :: (Ord a, Ord b) => Rel a b -> Set b Source
restrictDom :: (Ord a, Ord b) => (a -> Bool) -> Rel a b -> Rel a b Source
restrictRng :: (Ord a, Ord b) => (b -> Bool) -> Rel a b -> Rel a b Source
mapDom :: (Ord a, Ord b, Ord x) => (a -> x) -> Rel a b -> Rel x b Source
mapRng :: (Ord a, Ord b, Ord x) => (b -> x) -> Rel a b -> Rel a x Source
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 b Source
difference :: (Ord a, Ord b) => Rel a b -> Rel a b -> Rel a b Source
union :: (Ord a, Ord b) => Rel a b -> Rel a b -> Rel a b Source
unions :: (Ord a, Ord b) => [Rel a b] -> Rel a b Source
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