Safe Haskell | None |
---|---|
Language | Haskell2010 |
Agda.Utils.Map
Synopsis
- insertWithGood :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a
- forGood_ :: forall k v m. Applicative m => Map k v -> (v -> m ()) -> m ()
- forWithKey_ :: forall k v m. Applicative m => Map k v -> (k -> v -> m ()) -> m ()
- adjustM :: (Functor f, Ord k) => (v -> f v) -> k -> Map k v -> f (Map k v)
- adjustM' :: (Functor f, Ord k) => (v -> f (a, v)) -> k -> Map k v -> f (a, Map k v)
- filterKeys :: (k -> Bool) -> Map k a -> Map k a
- isSingleMap :: Map k v -> Maybe (k, v)
Monadic map operations
insertWithGood :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a Source #
Version of insertWith
that's willing to be properly inlined.
forGood_ :: forall k v m. Applicative m => Map k v -> (v -> m ()) -> m () Source #
Version of forM_
that deigns to be properly lambda-lifted for State, Reader, etc.
forWithKey_ :: forall k v m. Applicative m => Map k v -> (k -> v -> m ()) -> m () Source #
adjustM :: (Functor f, Ord k) => (v -> f v) -> k -> Map k v -> f (Map k v) Source #
Update monadically the value at one position (must exist!).
adjustM' :: (Functor f, Ord k) => (v -> f (a, v)) -> k -> Map k v -> f (a, Map k v) Source #
Wrapper for adjustM
for convenience.
Non-monadic map operations
isSingleMap :: Map k v -> Maybe (k, v) Source #
Check whether a map is a singleton.