| 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 |
Grisette.Lib.Data.Traversable
Description
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.