Copyright | (c) Sirui Lu 2021-2024 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Synopsis
- symElem :: (Foldable t, SymEq a) => a -> t a -> SymBool
- symMaximum :: forall a t. (Foldable t, Mergeable a, SymOrd a, ITEOp a) => t a -> a
- mrgMaximum :: forall a t m. (Foldable t, MonadUnion m, Mergeable a, SymOrd a) => t a -> m a
- symMinimum :: forall a t. (Foldable t, Mergeable a, SymOrd a, ITEOp a) => t a -> a
- mrgMinimum :: forall a t m. (Foldable t, MonadUnion m, Mergeable a, SymOrd a) => t a -> m a
- mrgFoldrM :: (MonadTryMerge m, Mergeable b, Foldable t) => (a -> b -> m b) -> b -> t a -> m b
- mrgFoldlM :: (MonadTryMerge m, Mergeable b, Foldable t) => (b -> a -> m b) -> b -> t a -> m b
- mrgTraverse_ :: (Applicative m, TryMerge m, Foldable t) => (a -> m b) -> t a -> m ()
- mrgFor_ :: (Applicative m, TryMerge m, Foldable t) => t a -> (a -> m b) -> m ()
- mrgSequenceA_ :: (Foldable t, TryMerge m, Applicative m) => t (m a) -> m ()
- mrgAsum :: (Alternative f, TryMerge f, Mergeable a, Foldable t) => t (f a) -> f a
- mrgMapM_ :: (MonadTryMerge m, Foldable t) => (a -> m b) -> t a -> m ()
- mrgForM_ :: (MonadTryMerge m, Foldable t) => t a -> (a -> m b) -> m ()
- mrgSequence_ :: (Foldable t, MonadTryMerge m) => t (m a) -> m ()
- mrgMsum :: (MonadTryMerge m, Mergeable a, MonadPlus m, Foldable t) => t (m a) -> m a
- symAnd :: Foldable t => t SymBool -> SymBool
- symOr :: Foldable t => t SymBool -> SymBool
- symAny :: Foldable t => (a -> SymBool) -> t a -> SymBool
- symAll :: Foldable t => (a -> SymBool) -> t a -> SymBool
- symMaximumBy :: forall t a. (Foldable t, Mergeable a, ITEOp a) => (a -> a -> Union Ordering) -> t a -> a
- mrgMaximumBy :: forall t a m. (Foldable t, Mergeable a, MonadUnion m) => (a -> a -> Union Ordering) -> t a -> m a
- symMinimumBy :: forall t a. (Foldable t, Mergeable a, ITEOp a) => (a -> a -> Union Ordering) -> t a -> a
- mrgMinimumBy :: forall t a m. (Foldable t, Mergeable a, MonadUnion m) => (a -> a -> Union Ordering) -> t a -> m a
- symNotElem :: (Foldable t, SymEq a) => a -> t a -> SymBool
- mrgFind :: (Foldable t, MonadUnion m, Mergeable a) => (a -> SymBool) -> t a -> m (Maybe a)
Documentation
mrgMaximum :: forall a t m. (Foldable t, MonadUnion m, Mergeable a, SymOrd a) => t a -> m a Source #
maximum
with MergingStrategy
knowledge
propagation.
mrgMinimum :: forall a t m. (Foldable t, MonadUnion m, Mergeable a, SymOrd a) => t a -> m a Source #
minimum
with MergingStrategy
knowledge
propagation.
Special biased folds
mrgFoldrM :: (MonadTryMerge m, Mergeable b, Foldable t) => (a -> b -> m b) -> b -> t a -> m b Source #
foldrM
with MergingStrategy
knowledge
propagation.
mrgFoldlM :: (MonadTryMerge m, Mergeable b, Foldable t) => (b -> a -> m b) -> b -> t a -> m b Source #
foldlM
with MergingStrategy
knowledge
propagation.
Folding actions
Applicative actions
mrgTraverse_ :: (Applicative m, TryMerge m, Foldable t) => (a -> m b) -> t a -> m () Source #
traverse_
with MergingStrategy
knowledge
propagation.
mrgFor_ :: (Applicative m, TryMerge m, Foldable t) => t a -> (a -> m b) -> m () Source #
for_
with MergingStrategy
knowledge
propagation.
mrgSequenceA_ :: (Foldable t, TryMerge m, Applicative m) => t (m a) -> m () Source #
sequence_
with MergingStrategy
knowledge
propagation.
mrgAsum :: (Alternative f, TryMerge f, Mergeable a, Foldable t) => t (f a) -> f a Source #
asum
with MergingStrategy
knowledge propagation.
Monadic actions
mrgMapM_ :: (MonadTryMerge m, Foldable t) => (a -> m b) -> t a -> m () Source #
mapM_
with MergingStrategy
knowledge
propagation.
mrgForM_ :: (MonadTryMerge m, Foldable t) => t a -> (a -> m b) -> m () Source #
forM_
with MergingStrategy
knowledge
propagation.
mrgSequence_ :: (Foldable t, MonadTryMerge m) => t (m a) -> m () Source #
sequence_
with MergingStrategy
knowledge
propagation.
mrgMsum :: (MonadTryMerge m, Mergeable a, MonadPlus m, Foldable t) => t (m a) -> m a Source #
msum
with MergingStrategy
knowledge
propagation.
Specialized folds
symMaximumBy :: forall t a. (Foldable t, Mergeable a, ITEOp a) => (a -> a -> Union Ordering) -> t a -> a Source #
mrgMaximumBy :: forall t a m. (Foldable t, Mergeable a, MonadUnion m) => (a -> a -> Union Ordering) -> t a -> m a Source #
maximumBy
with MergingStrategy
knowledge
propagation.
symMinimumBy :: forall t a. (Foldable t, Mergeable a, ITEOp a) => (a -> a -> Union Ordering) -> t a -> a Source #
mrgMinimumBy :: forall t a m. (Foldable t, Mergeable a, MonadUnion m) => (a -> a -> Union Ordering) -> t a -> m a Source #
minimumBy
with MergingStrategy
knowledge
propagation.
Searches
mrgFind :: (Foldable t, MonadUnion m, Mergeable a) => (a -> SymBool) -> t a -> m (Maybe a) Source #
elem
with symbolic equality and
MergingStrategy
knowledge propagation.