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 | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- symElem :: forall mode t a. (Foldable t, EvalMode mode, UnifiedSymEq mode a) => a -> t a -> GetBool mode
- symMaximum :: forall mode a t. (Foldable t, Mergeable a, UnifiedSymOrd mode a, UnifiedITEOp mode a, EvalMode mode) => t a -> a
- mrgMaximum :: forall mode a t m. (Foldable t, MonadWithMode mode m, Mergeable a, UnifiedSymOrd mode a) => t a -> m a
- symMinimum :: forall mode a t. (Foldable t, Mergeable a, UnifiedSymOrd mode a, UnifiedITEOp mode a, EvalMode mode) => t a -> a
- mrgMinimum :: forall mode a t m. (Foldable t, MonadWithMode mode m, Mergeable a, UnifiedSymOrd mode 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 :: (EvalMode mode, Foldable t) => t (GetBool mode) -> GetBool mode
- symOr :: (EvalMode mode, Foldable t) => t (GetBool mode) -> GetBool mode
- symAny :: (EvalMode mode, Foldable t) => (a -> GetBool mode) -> t a -> GetBool mode
- symAll :: (EvalMode mode, Foldable t) => (a -> GetBool mode) -> t a -> GetBool mode
- symMaximumBy :: forall mode t a. (Foldable t, Mergeable a, UnifiedITEOp mode a, EvalMode mode) => (a -> a -> BaseMonad mode Ordering) -> t a -> a
- mrgMaximumBy :: forall mode t a m. (Foldable t, Mergeable a, MonadWithMode mode m) => (a -> a -> BaseMonad mode Ordering) -> t a -> m a
- symMinimumBy :: forall mode t a. (Foldable t, Mergeable a, UnifiedITEOp mode a, EvalMode mode) => (a -> a -> BaseMonad mode Ordering) -> t a -> a
- mrgMinimumBy :: forall mode t a m. (Foldable t, Mergeable a, MonadWithMode mode m) => (a -> a -> BaseMonad mode Ordering) -> t a -> m a
- symNotElem :: (Foldable t, UnifiedSymEq mode a, EvalMode mode) => a -> t a -> GetBool mode
- mrgFind :: (Foldable t, MonadWithMode mode m, Mergeable a) => (a -> GetBool mode) -> t a -> m (Maybe a)
Documentation
symElem :: forall mode t a. (Foldable t, EvalMode mode, UnifiedSymEq mode a) => a -> t a -> GetBool mode Source #
elem
with symbolic equality.
symMaximum :: forall mode a t. (Foldable t, Mergeable a, UnifiedSymOrd mode a, UnifiedITEOp mode a, EvalMode mode) => t a -> a Source #
mrgMaximum :: forall mode a t m. (Foldable t, MonadWithMode mode m, Mergeable a, UnifiedSymOrd mode a) => t a -> m a Source #
maximum
with unified comparison.
symMinimum :: forall mode a t. (Foldable t, Mergeable a, UnifiedSymOrd mode a, UnifiedITEOp mode a, EvalMode mode) => t a -> a Source #
mrgMinimum :: forall mode a t m. (Foldable t, MonadWithMode mode m, Mergeable a, UnifiedSymOrd mode 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.
Folding actions
symAnd :: (EvalMode mode, Foldable t) => t (GetBool mode) -> GetBool mode Source #
and
on unified boolean.
symOr :: (EvalMode mode, Foldable t) => t (GetBool mode) -> GetBool mode Source #
or
on unified boolean.
symAny :: (EvalMode mode, Foldable t) => (a -> GetBool mode) -> t a -> GetBool mode Source #
any
on unified boolean.
symAll :: (EvalMode mode, Foldable t) => (a -> GetBool mode) -> t a -> GetBool mode Source #
all
on unified boolean.
symMaximumBy :: forall mode t a. (Foldable t, Mergeable a, UnifiedITEOp mode a, EvalMode mode) => (a -> a -> BaseMonad mode Ordering) -> t a -> a Source #
mrgMaximumBy :: forall mode t a m. (Foldable t, Mergeable a, MonadWithMode mode m) => (a -> a -> BaseMonad mode Ordering) -> t a -> m a Source #
maximumBy
with MergingStrategy
knowledge
propagation.
symMinimumBy :: forall mode t a. (Foldable t, Mergeable a, UnifiedITEOp mode a, EvalMode mode) => (a -> a -> BaseMonad mode Ordering) -> t a -> a Source #
mrgMinimumBy :: forall mode t a m. (Foldable t, Mergeable a, MonadWithMode mode m) => (a -> a -> BaseMonad mode Ordering) -> t a -> m a Source #
minimumBy
with MergingStrategy
knowledge
propagation.
Searches
symNotElem :: (Foldable t, UnifiedSymEq mode a, EvalMode mode) => a -> t a -> GetBool mode Source #
elem
with symbolic equality.
mrgFind :: (Foldable t, MonadWithMode mode m, Mergeable a) => (a -> GetBool mode) -> t a -> m (Maybe a) Source #
elem
with symbolic equality and
MergingStrategy
knowledge propagation.