Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype MapV k v g = MapV {
- unMapV :: MonoidalMap k (g v)
- singletonMapV :: k -> g v -> MapV k v g
- lookupMapV :: Ord k => k -> MapV k v g -> Maybe (g v)
- mapVMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => k -> ViewMorphism m n (g v) (MapV k v g)
- toMapVMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => k -> ViewHalfMorphism m n (g v) (MapV k v g)
- fromMapVMorphism :: (Alternative m, Applicative n, Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v) => k -> ViewHalfMorphism m n (MapV k v g) (g v)
- mapVSetMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Monoid (ViewQueryResult g v), Monoid (g v), Alternative n, Applicative m) => Set k -> ViewMorphism m n (g v) (MapV k v g)
- toMapVSetMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Applicative n, Applicative m, Monoid (ViewQueryResult g v)) => Set k -> ViewHalfMorphism m n (g v) (MapV k v g)
- fromMapVSetMorphism :: (Alternative m, Applicative n, Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Monoid (g v)) => Set k -> ViewHalfMorphism m n (MapV k v g) (g v)
- mapVWildcardMorphism :: (Semigroup (g v), Semigroup (ViewQueryResult g v), ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => ViewMorphism m n (g v) (MapV k v g)
- toMapVWildcardMorphism :: (Applicative m, Alternative n, Semigroup (ViewQueryResult g v), ViewQueryResult (g v) ~ ViewQueryResult g v) => ViewHalfMorphism m n (g v) (MapV k v g)
- fromMapVWildcardMorphism :: (Alternative m, Applicative n, Semigroup (g v)) => ViewHalfMorphism m n (MapV k v g) (g v)
- handleMapVSelector :: forall a f g k m. (Ord k, Functor m) => (forall x. x -> f x -> g x) -> (Set k -> m (MonoidalMap k a)) -> MapV k a f -> m (MapV k a g)
- mapMapWithKeyV :: (k -> f a -> g a) -> MapV k a f -> MapV k a g
Documentation
A functor-indexed container corresponding to Map k v.
MapV | |
|
Instances
singletonMapV :: k -> g v -> MapV k v g Source #
mapVMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => k -> ViewMorphism m n (g v) (MapV k v g) Source #
toMapVMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => k -> ViewHalfMorphism m n (g v) (MapV k v g) Source #
fromMapVMorphism :: (Alternative m, Applicative n, Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v) => k -> ViewHalfMorphism m n (MapV k v g) (g v) Source #
mapVSetMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Monoid (ViewQueryResult g v), Monoid (g v), Alternative n, Applicative m) => Set k -> ViewMorphism m n (g v) (MapV k v g) Source #
toMapVSetMorphism :: (Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Applicative n, Applicative m, Monoid (ViewQueryResult g v)) => Set k -> ViewHalfMorphism m n (g v) (MapV k v g) Source #
fromMapVSetMorphism :: (Alternative m, Applicative n, Ord k, ViewQueryResult (g v) ~ ViewQueryResult g v, Monoid (g v)) => Set k -> ViewHalfMorphism m n (MapV k v g) (g v) Source #
mapVWildcardMorphism :: (Semigroup (g v), Semigroup (ViewQueryResult g v), ViewQueryResult (g v) ~ ViewQueryResult g v, Alternative n, Applicative m) => ViewMorphism m n (g v) (MapV k v g) Source #
Match whatever's present in the View, insert nothing.
toMapVWildcardMorphism :: (Applicative m, Alternative n, Semigroup (ViewQueryResult g v), ViewQueryResult (g v) ~ ViewQueryResult g v) => ViewHalfMorphism m n (g v) (MapV k v g) Source #
fromMapVWildcardMorphism :: (Alternative m, Applicative n, Semigroup (g v)) => ViewHalfMorphism m n (MapV k v g) (g v) Source #
handleMapVSelector :: forall a f g k m. (Ord k, Functor m) => (forall x. x -> f x -> g x) -> (Set k -> m (MonoidalMap k a)) -> MapV k a f -> m (MapV k a g) Source #
A gadget to "traverse" over all of the keys in a MapV in one step
mapMapWithKeyV :: (k -> f a -> g a) -> MapV k a f -> MapV k a g Source #
Non-existentialized mapV; since the contained value is known