Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Relation
Synopsis
- class Relation m where
- type Domain m :: Type
- type Range m :: Type
- singleton :: Domain m -> Range m -> m
- dom :: Ord (Domain m) => m -> Set (Domain m)
- range :: Ord (Range m) => m -> Set (Range m)
- (◁), (<|) :: Ord (Domain m) => Set (Domain m) -> m -> m
- (⋪), (</|) :: Ord (Domain m) => Set (Domain m) -> m -> m
- (▷), (|>) :: Ord (Range m) => m -> Set (Range m) -> m
- (⋫), (|/>) :: Ord (Range m) => m -> Set (Range m) -> m
- (∪) :: (Ord (Domain m), Ord (Range m)) => m -> m -> m
- (⨃) :: (Ord (Domain m), Ord (Range m)) => m -> m -> m
- size :: Integral n => m -> n
- haskey :: Ord (Domain m) => Domain m -> m -> Bool
- addpair :: (Ord (Domain m), Ord (Range m)) => Domain m -> Range m -> m -> m
- removekey :: Ord (Domain m) => Domain m -> m -> m
- (⊆) :: (Foldable f, Foldable g, Ord a) => f a -> g a -> Bool
- (∪+) :: (Ord a, Num b) => Map a b -> Map a b -> Map a b
- (∈) :: (Eq a, Foldable f) => a -> f a -> Bool
- (∉) :: (Eq a, Foldable f) => a -> f a -> Bool
- (∩) :: Ord a => Set a -> Set a -> Set a
Documentation
class Relation m where Source #
Methods
singleton :: Domain m -> Range m -> m Source #
dom :: Ord (Domain m) => m -> Set (Domain m) Source #
Domain
range :: Ord (Range m) => m -> Set (Range m) Source #
Range
(◁) :: Ord (Domain m) => Set (Domain m) -> m -> m Source #
Domain restriction
Unicode: 25c1
(<|) :: Ord (Domain m) => Set (Domain m) -> m -> m Source #
Domain restriction
Unicode: 25c1
(⋪) :: Ord (Domain m) => Set (Domain m) -> m -> m Source #
Domain exclusion
Unicode: 22ea
(</|) :: Ord (Domain m) => Set (Domain m) -> m -> m Source #
Domain exclusion
Unicode: 22ea
(▷) :: Ord (Range m) => m -> Set (Range m) -> m Source #
Range restriction
Unicode: 25b7
(|>) :: Ord (Range m) => m -> Set (Range m) -> m Source #
Range restriction
Unicode: 25b7
(⋫) :: Ord (Range m) => m -> Set (Range m) -> m Source #
Range exclusion
Unicode: 22eb
(|/>) :: Ord (Range m) => m -> Set (Range m) -> m Source #
Range exclusion
Unicode: 22eb
(∪) :: (Ord (Domain m), Ord (Range m)) => m -> m -> m Source #
Union
(⨃) :: (Ord (Domain m), Ord (Range m)) => m -> m -> m Source #
Union Override Right
size :: Integral n => m -> n Source #
Size of the relation
haskey :: Ord (Domain m) => Domain m -> m -> Bool Source #
Is this key in the Domain, Instances should overide this default with something more efficient
addpair :: (Ord (Domain m), Ord (Range m)) => Domain m -> Range m -> m -> m Source #
Insert (key,value) pair into the Relation. Instances should overide this default with something more efficient
removekey :: Ord (Domain m) => Domain m -> m -> m Source #
Remove a key (and its associted value at that key) from the Relation. Instances should overide this default with something more efficient
Instances
Relation [(a, b)] Source # | |
Defined in Data.Relation Methods singleton :: Domain [(a, b)] -> Range [(a, b)] -> [(a, b)] Source # dom :: [(a, b)] -> Set (Domain [(a, b)]) Source # range :: [(a, b)] -> Set (Range [(a, b)]) Source # (◁) :: Set (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source # (<|) :: Set (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source # (⋪) :: Set (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source # (</|) :: Set (Domain [(a, b)]) -> [(a, b)] -> [(a, b)] Source # (▷) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source # (|>) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source # (⋫) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source # (|/>) :: [(a, b)] -> Set (Range [(a, b)]) -> [(a, b)] Source # (∪) :: [(a, b)] -> [(a, b)] -> [(a, b)] Source # (⨃) :: [(a, b)] -> [(a, b)] -> [(a, b)] Source # size :: Integral n => [(a, b)] -> n Source # haskey :: Domain [(a, b)] -> [(a, b)] -> Bool Source # addpair :: Domain [(a, b)] -> Range [(a, b)] -> [(a, b)] -> [(a, b)] Source # removekey :: Domain [(a, b)] -> [(a, b)] -> [(a, b)] Source # | |
Relation (Set (a, b)) Source # | |
Defined in Data.Relation Methods singleton :: Domain (Set (a, b)) -> Range (Set (a, b)) -> Set (a, b) Source # dom :: Set (a, b) -> Set (Domain (Set (a, b))) Source # range :: Set (a, b) -> Set (Range (Set (a, b))) Source # (◁) :: Set (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source # (<|) :: Set (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source # (⋪) :: Set (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source # (</|) :: Set (Domain (Set (a, b))) -> Set (a, b) -> Set (a, b) Source # (▷) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source # (|>) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source # (⋫) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source # (|/>) :: Set (a, b) -> Set (Range (Set (a, b))) -> Set (a, b) Source # (∪) :: Set (a, b) -> Set (a, b) -> Set (a, b) Source # (⨃) :: Set (a, b) -> Set (a, b) -> Set (a, b) Source # size :: Integral n => Set (a, b) -> n Source # haskey :: Domain (Set (a, b)) -> Set (a, b) -> Bool Source # addpair :: Domain (Set (a, b)) -> Range (Set (a, b)) -> Set (a, b) -> Set (a, b) Source # removekey :: Domain (Set (a, b)) -> Set (a, b) -> Set (a, b) Source # | |
Relation (Map k v) Source # | |
Defined in Data.Relation Methods singleton :: Domain (Map k v) -> Range (Map k v) -> Map k v Source # dom :: Map k v -> Set (Domain (Map k v)) Source # range :: Map k v -> Set (Range (Map k v)) Source # (◁) :: Set (Domain (Map k v)) -> Map k v -> Map k v Source # (<|) :: Set (Domain (Map k v)) -> Map k v -> Map k v Source # (⋪) :: Set (Domain (Map k v)) -> Map k v -> Map k v Source # (</|) :: Set (Domain (Map k v)) -> Map k v -> Map k v Source # (▷) :: Map k v -> Set (Range (Map k v)) -> Map k v Source # (|>) :: Map k v -> Set (Range (Map k v)) -> Map k v Source # (⋫) :: Map k v -> Set (Range (Map k v)) -> Map k v Source # (|/>) :: Map k v -> Set (Range (Map k v)) -> Map k v Source # (∪) :: Map k v -> Map k v -> Map k v Source # (⨃) :: Map k v -> Map k v -> Map k v Source # size :: Integral n => Map k v -> n Source # haskey :: Domain (Map k v) -> Map k v -> Bool Source # addpair :: Domain (Map k v) -> Range (Map k v) -> Map k v -> Map k v Source # removekey :: Domain (Map k v) -> Map k v -> Map k v Source # |
(⊆) :: (Foldable f, Foldable g, Ord a) => f a -> g a -> Bool Source #
Inclusion among foldables.
Unicode: 2286