Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Relation3 a b c = Relation3 {}
- d1s :: Relation3 a b c -> Set a
- d2s :: Relation3 a b c -> Set b
- d3s :: Relation3 a b c -> Set c
- d12 :: Relation3 a b c -> Relation a b
- d13 :: Relation3 a b c -> Relation a c
- d23 :: Relation3 a b c -> Relation b c
- filter :: (Ord a, Ord b, Ord c) => ((a, b, c) -> Bool) -> Relation3 a b c -> Relation3 a b c
- mapD1 :: (Ord a, Ord a', Ord b, Ord c) => (a -> a') -> Relation3 a b c -> Relation3 a' b c
- mapD1Monotonic :: (Ord a, Ord a', Ord b, Ord c) => (a -> a') -> Relation3 a b c -> Relation3 a' b c
- mapD2 :: (Ord a, Ord b, Ord b', Ord c) => (b -> b') -> Relation3 a b c -> Relation3 a b' c
- mapD2Monotonic :: (Ord a, Ord b, Ord b', Ord c) => (b -> b') -> Relation3 a b c -> Relation3 a b' c
- member :: (Ord a, Ord b, Ord c) => a -> b -> c -> Relation3 a b c -> Bool
- memberD2 :: Ord b => b -> Relation3 a b c -> Bool
- lookupD1 :: (Ord a, Ord b, Ord c) => a -> Relation3 a b c -> Relation b c
- lookupD2 :: (Ord a, Ord b, Ord c) => b -> Relation3 a b c -> Relation a c
- lookupD3 :: (Ord a, Ord b, Ord c) => c -> Relation3 a b c -> Relation a b
- size :: (Ord a, Ord b, Ord c) => Relation3 a b c -> Int
- toList :: Relation3 a b c -> [(a, b, c)]
- toNestedList :: Relation3 a b c -> [(a, (b, c))]
- nestD12 :: (Ord a, Ord b, Ord c) => Relation3 a b c -> Relation (a, b) c
- fromNestedDom :: (Ord a, Ord b, Ord c) => Relation (a, b) c -> Relation3 a b c
- fromNestedRan :: (Ord a, Ord b, Ord c) => Relation a (b, c) -> Relation3 a b c
- fromList :: (Ord a, Ord b, Ord c) => [(a, b, c)] -> Relation3 a b c
- empty :: (Ord a, Ord b, Ord c) => Relation3 a b c
- null :: Relation3 a b c -> Bool
- insert :: (Ord a, Ord b, Ord c) => a -> b -> c -> Relation3 a b c -> Relation3 a b c
- delete :: (Ord a, Ord b, Ord c) => a -> b -> c -> Relation3 a b c -> Relation3 a b c
- insertAll :: Foldable f => Ord a => Ord b => Ord c => f (a, b, c) -> Relation3 a b c -> Relation3 a b c
- deleteAll :: Foldable f => Ord a => Ord b => Ord c => f (a, b, c) -> Relation3 a b c -> Relation3 a b c
- difference :: (Ord a, Ord b, Ord c) => Relation3 a b c -> Relation3 a b c -> Relation3 a b c
- union :: (Ord a, Ord b, Ord c) => Relation3 a b c -> Relation3 a b c -> Relation3 a b c
Documentation
Instances
(Ord a, Ord b, Ord c) => Monoid (Relation3 a b c) Source # | |
(Ord a, Ord b, Ord c) => Semigroup (Relation3 a b c) Source # | |
(Show a, Show b, Show c) => Show (Relation3 a b c) Source # | |
(Eq a, Eq b, Eq c) => Eq (Relation3 a b c) Source # | |
(Ord a, Ord b, Ord c) => Ord (Relation3 a b c) Source # | |
Defined in Unison.Util.Relation3 compare :: Relation3 a b c -> Relation3 a b c -> Ordering # (<) :: Relation3 a b c -> Relation3 a b c -> Bool # (<=) :: Relation3 a b c -> Relation3 a b c -> Bool # (>) :: Relation3 a b c -> Relation3 a b c -> Bool # (>=) :: Relation3 a b c -> Relation3 a b c -> Bool # max :: Relation3 a b c -> Relation3 a b c -> Relation3 a b c # min :: Relation3 a b c -> Relation3 a b c -> Relation3 a b c # |
d12 :: Relation3 a b c -> Relation a b Source #
Project out a relation that only includes the 1st and 2nd dimensions.
d13 :: Relation3 a b c -> Relation a c Source #
Project out a relation that only includes the 1st and 3rd dimensions.
d23 :: Relation3 a b c -> Relation b c Source #
Project out a relation that only includes the 2nd and 3rd dimensions.
filter :: (Ord a, Ord b, Ord c) => ((a, b, c) -> Bool) -> Relation3 a b c -> Relation3 a b c Source #
mapD1Monotonic :: (Ord a, Ord a', Ord b, Ord c) => (a -> a') -> Relation3 a b c -> Relation3 a' b c Source #
Like mapD1
, but takes a function that must be monotonic; i.e. compare x y == compare (f x) (f y)
.
mapD2Monotonic :: (Ord a, Ord b, Ord b', Ord c) => (b -> b') -> Relation3 a b c -> Relation3 a b' c Source #
Like mapD2
, but takes a function that must be monotonic; i.e. compare x y == compare (f x) (f y)
.
toNestedList :: Relation3 a b c -> [(a, (b, c))] Source #
insertAll :: Foldable f => Ord a => Ord b => Ord c => f (a, b, c) -> Relation3 a b c -> Relation3 a b c Source #
deleteAll :: Foldable f => Ord a => Ord b => Ord c => f (a, b, c) -> Relation3 a b c -> Relation3 a b c Source #