Agda-2.3.2: A dependently typed functional programming language and proof assistant

Safe Haskell | None

Agda.Utils.Map

Synopsis

- data EitherOrBoth a b
  - = L a
  - | B a b
  - | R b
- unionWithM :: (Ord k, Functor m, Monad m) => (a -> a -> m a) -> Map k a -> Map k a -> m (Map k a)
- insertWithKeyM :: (Ord k, Monad m) => (k -> a -> a -> m a) -> k -> a -> Map k a -> m (Map k a)
- filterKeys :: Ord k => (k -> Bool) -> Map k a -> Map k a
- unzip :: Map k (a, b) -> (Map k a, Map k b)
- unzip3 :: Map k (a, b, c) -> (Map k a, Map k b, Map k c)

# Documentation

data EitherOrBoth a b

Constructors

L a |
B a b |
R b |

unionWithM :: (Ord k, Functor m, Monad m) => (a -> a -> m a) -> Map k a -> Map k a -> m (Map k a)

Not very efficient (goes via a list), but it'll do.

insertWithKeyM :: (Ord k, Monad m) => (k -> a -> a -> m a) -> k -> a -> Map k a -> m (Map k a)

filterKeys :: Ord k => (k -> Bool) -> Map k a -> Map k a

Filter a map based on the keys.

unzip :: Map k (a, b) -> (Map k a, Map k b)

Unzip a map.

unzip3 :: Map k (a, b, c) -> (Map k a, Map k b, Map k c)