Copyright | (c) Sirui Lu 2021-2023 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Synopsis
- mrgTraverse :: forall a b t f. (Mergeable b, Mergeable1 t, TryMerge f, Applicative f, Traversable t) => (a -> f b) -> t a -> f (t b)
- mrgSequenceA :: forall a t f. (Mergeable a, Mergeable1 t, Applicative f, TryMerge f, Traversable t) => t (f a) -> f (t a)
- mrgMapM :: forall a b t f. (Mergeable b, Mergeable1 t, MonadTryMerge f, Traversable t) => (a -> f b) -> t a -> f (t b)
- mrgSequence :: forall a t f. (Mergeable a, Mergeable1 t, MonadTryMerge f, Traversable t) => t (f a) -> f (t a)
- mrgFor :: (Mergeable b, Mergeable1 t, Traversable t, TryMerge m, Applicative m) => t a -> (a -> m b) -> m (t b)
- mrgForM :: (Mergeable b, Mergeable1 t, Traversable t, MonadTryMerge m) => t a -> (a -> m b) -> m (t b)
- mrgMapAccumM :: (MonadTryMerge m, Traversable t, Mergeable s, Mergeable b, Mergeable1 t) => (s -> a -> m (s, b)) -> s -> t a -> m (s, t b)
- mrgForAccumM :: (MonadTryMerge m, Traversable t, Mergeable s, Mergeable b, Mergeable1 t) => s -> t a -> (s -> a -> m (s, b)) -> m (s, t b)
The Traversable
class
mrgTraverse :: forall a b t f. (Mergeable b, Mergeable1 t, TryMerge f, Applicative f, Traversable t) => (a -> f b) -> t a -> f (t b) Source #
traverse
with MergingStrategy
knowledge
propagation.
mrgSequenceA :: forall a t f. (Mergeable a, Mergeable1 t, Applicative f, TryMerge f, Traversable t) => t (f a) -> f (t a) Source #
sequenceA
with MergingStrategy
knowledge
propagation.
mrgMapM :: forall a b t f. (Mergeable b, Mergeable1 t, MonadTryMerge f, Traversable t) => (a -> f b) -> t a -> f (t b) Source #
mapM
with MergingStrategy
knowledge
propagation.
mrgSequence :: forall a t f. (Mergeable a, Mergeable1 t, MonadTryMerge f, Traversable t) => t (f a) -> f (t a) Source #
sequence
with MergingStrategy
knowledge
propagation.
Utility functions
mrgFor :: (Mergeable b, Mergeable1 t, Traversable t, TryMerge m, Applicative m) => t a -> (a -> m b) -> m (t b) Source #
for
with MergingStrategy
knowledge
propagation.
mrgForM :: (Mergeable b, Mergeable1 t, Traversable t, MonadTryMerge m) => t a -> (a -> m b) -> m (t b) Source #
forM
with MergingStrategy
knowledge
propagation.
mrgMapAccumM :: (MonadTryMerge m, Traversable t, Mergeable s, Mergeable b, Mergeable1 t) => (s -> a -> m (s, b)) -> s -> t a -> m (s, t b) Source #
mapAccumM
with MergingStrategy
knowledge
propagation.
mrgForAccumM :: (MonadTryMerge m, Traversable t, Mergeable s, Mergeable b, Mergeable1 t) => s -> t a -> (s -> a -> m (s, b)) -> m (s, t b) Source #
forAccumM
and MergingStrategy
knowledge
propagation.