uhc-util-0.1.3.9: UHC utilities

Safe HaskellSafe-Inferred
LanguageHaskell98

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