Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.CannonicalMaps
Synopsis
- class Eq t => CannonicalZero t where
- cannonicalInsert :: (Ord k, CannonicalZero a) => (a -> a -> a) -> k -> a -> Map k a -> Map k a
- cannonicalMapUnion :: (Ord k, CannonicalZero a) => (a -> a -> a) -> Map k a -> Map k a -> Map k a
- cannonicalMap :: (Ord k, CannonicalZero a) => (a -> a) -> Map k a -> Map k a
- pointWise :: (Ord k, CannonicalZero v) => (v -> v -> Bool) -> Map k v -> Map k v -> Bool
- data Map k a
Documentation
class Eq t => CannonicalZero t where Source #
Instances
CannonicalZero Integer Source # | |
(Eq k, Eq v, Ord k, CannonicalZero v) => CannonicalZero (Map k v) Source # | |
cannonicalInsert :: (Ord k, CannonicalZero a) => (a -> a -> a) -> k -> a -> Map k a -> Map k a Source #
cannonicalMapUnion :: (Ord k, CannonicalZero a) => (a -> a -> a) -> Map k a -> Map k a -> Map k a Source #
cannonicalMap :: (Ord k, CannonicalZero a) => (a -> a) -> Map k a -> Map k a Source #
A Map from keys k
to values a
.
The Semigroup
operation for Map
is union
, which prefers
values from the left operand. If m1
maps a key k
to a value
a1
, and m2
maps the same key to a different value a2
, then
their union m1 <> m2
maps k
to a1
.
Instances
Bifoldable Map | Since: containers-0.6.3.1 |
Eq2 Map | Since: containers-0.5.9 |
Ord2 Map | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show2 Map | Since: containers-0.5.9 |
Hashable2 Map | Since: hashable-1.3.4.0 |
Iter Map Source # | |
Defined in Control.Iterate.SetAlgebra Methods nxt :: Map a b -> Collect (a, b, Map a b) Source # lub :: Ord k => k -> Map k b -> Collect (k, b, Map k b) Source # hasNxt :: Map a b -> Maybe (a, b, Map a b) Source # hasLub :: Ord k => k -> Map k b -> Maybe (k, b, Map k b) Source # haskey :: Ord key => key -> Map key b -> Bool Source # isnull :: Map k v -> Bool Source # lookup :: Ord key => key -> Map key rng -> Maybe rng Source # | |
Basic Map Source # | |
Defined in Control.Iterate.SetAlgebra | |
Functor (Map k) | |
Foldable (Map k) | Folds in order of increasing key. |
Defined in Data.Map.Internal Methods fold :: Monoid m => Map k m -> m # foldMap :: Monoid m => (a -> m) -> Map k a -> m # foldMap' :: Monoid m => (a -> m) -> Map k a -> m # foldr :: (a -> b -> b) -> b -> Map k a -> b # foldr' :: (a -> b -> b) -> b -> Map k a -> b # foldl :: (b -> a -> b) -> b -> Map k a -> b # foldl' :: (b -> a -> b) -> b -> Map k a -> b # foldr1 :: (a -> a -> a) -> Map k a -> a # foldl1 :: (a -> a -> a) -> Map k a -> a # elem :: Eq a => a -> Map k a -> Bool # maximum :: Ord a => Map k a -> a # minimum :: Ord a => Map k a -> a # | |
Traversable (Map k) | Traverses in order of increasing key. |
Eq k => Eq1 (Map k) | Since: containers-0.5.9 |
Ord k => Ord1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
(Ord k, Read k) => Read1 (Map k) | Since: containers-0.5.9 |
Defined in Data.Map.Internal | |
Show k => Show1 (Map k) | Since: containers-0.5.9 |
Hashable k => Hashable1 (Map k) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Ord k => IsList (Map k v) | Since: containers-0.5.6.2 |
(Eq k, Eq a) => Eq (Map k a) | |
(Data k, Data a, Ord k) => Data (Map k a) | |
Defined in Data.Map.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) # toConstr :: Map k a -> Constr # dataTypeOf :: Map k a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) # gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r # gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) # | |
(Ord k, Ord v) => Ord (Map k v) | |
(Ord k, Read k, Read e) => Read (Map k e) | |
(Show k, Show a) => Show (Map k a) | |
Ord k => Semigroup (Map k v) | |
Ord k => Monoid (Map k v) | |
(Hashable k, Hashable v) => Hashable (Map k v) | Since: hashable-1.3.4.0 |
(Ord k, ToCBOR k, ToCBOR v) => ToCBOR (Map k v) | |
(Ord k, FromCBOR k, FromCBOR v) => FromCBOR (Map k v) | |
(NFData k, NFData a) => NFData (Map k a) | |
Defined in Data.Map.Internal | |
(NoThunks k, NoThunks v) => NoThunks (Map k v) | |
(Eq k, Eq v, Ord k, CannonicalZero v) => CannonicalZero (Map k v) 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 # | |
Ord k => HasQuery (Map k v) k v Source # | |
Ord k => HasExp (Map k v) (Map k v) Source # | |
Embed (Map k v) (Map k v) Source # | |
type Item (Map k v) | |
Defined in Data.Map.Internal | |
type Domain (Map k v) Source # | |
Defined in Data.Relation | |
type Range (Map k v) Source # | |
Defined in Data.Relation |