grisette-0.5.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2021-2023
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellTrustworthy
LanguageHaskell2010

Grisette.Lib.Data.Traversable

Description

 
Synopsis

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.