| Copyright | (c) Sirui Lu 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 |
Grisette.Lib.Control.Applicative
Description
Synopsis
- mrgPureWithStrategy :: (TryMerge m, Applicative m) => MergingStrategy a -> a -> m a
- mrgPure :: (TryMerge m, Applicative m, Mergeable a) => a -> m a
- (.<*>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f (a -> b) -> f a -> f b
- mrgLiftA2 :: (Applicative f, TryMerge f, Mergeable a, Mergeable b, Mergeable c) => (a -> b -> c) -> f a -> f b -> f c
- (.*>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f b -> f b
- (.<*) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f b -> f a
- mrgEmpty :: (Alternative f, TryMerge f, Mergeable a) => f a
- (.<|>) :: (Alternative f, TryMerge f, Mergeable a) => f a -> f a -> f a
- mrgSome :: (Alternative f, TryMerge f, Mergeable a) => f a -> f [a]
- mrgMany :: (Alternative f, TryMerge f, Mergeable a) => f a -> f [a]
- (.<$>) :: (TryMerge f, Mergeable a, Mergeable b, Functor f) => (a -> b) -> f a -> f b
- (.<$) :: (TryMerge f, Mergeable a, Mergeable b, Functor f) => b -> f a -> f b
- (.<**>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f (a -> b) -> f b
- mrgLiftA :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => (a -> b) -> f a -> f b
- mrgLiftA3 :: (Applicative f, TryMerge f, Mergeable a, Mergeable b, Mergeable c, Mergeable d) => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
- mrgOptional :: (Alternative f, TryMerge f, Mergeable a) => f a -> f (Maybe a)
- mrgAsum :: (Alternative f, TryMerge f, Mergeable a, Foldable t) => t (f a) -> f a
Applicative Functors
mrgPureWithStrategy :: (TryMerge m, Applicative m) => MergingStrategy a -> a -> m a Source #
Alias for mrgSingleWithStrategy.
(.<*>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f (a -> b) -> f a -> f b infixl 4 Source #
<*> with MergingStrategy knowledge propagation.
mrgLiftA2 :: (Applicative f, TryMerge f, Mergeable a, Mergeable b, Mergeable c) => (a -> b -> c) -> f a -> f b -> f c Source #
liftA2 with MergingStrategy knowledge propagation.
(.*>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f b -> f b infixl 4 Source #
*> with MergingStrategy knowledge propagation.
(.<*) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f b -> f a infixl 4 Source #
<* with MergingStrategy knowledge propagation.
Alternatives
mrgEmpty :: (Alternative f, TryMerge f, Mergeable a) => f a Source #
empty with MergingStrategy knowledge propagation.
(.<|>) :: (Alternative f, TryMerge f, Mergeable a) => f a -> f a -> f a infixl 3 Source #
<|> with MergingStrategy knowledge propagation.
mrgSome :: (Alternative f, TryMerge f, Mergeable a) => f a -> f [a] Source #
some with MergingStrategy knowledge propagation.
mrgMany :: (Alternative f, TryMerge f, Mergeable a) => f a -> f [a] Source #
many with MergingStrategy knowledge propagation.
Utility functions
(.<$>) :: (TryMerge f, Mergeable a, Mergeable b, Functor f) => (a -> b) -> f a -> f b infixl 4 Source #
<$> with MergingStrategy knowledge propagation.
(.<$) :: (TryMerge f, Mergeable a, Mergeable b, Functor f) => b -> f a -> f b infixl 4 Source #
<$ with MergingStrategy knowledge propagation.
(.<**>) :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => f a -> f (a -> b) -> f b infixl 4 Source #
<**> with MergingStrategy knowledge propagation.
mrgLiftA :: (Applicative f, TryMerge f, Mergeable a, Mergeable b) => (a -> b) -> f a -> f b Source #
liftA with MergingStrategy knowledge propagation.
mrgLiftA3 :: (Applicative f, TryMerge f, Mergeable a, Mergeable b, Mergeable c, Mergeable d) => (a -> b -> c -> d) -> f a -> f b -> f c -> f d Source #
liftA3 with MergingStrategy knowledge propagation.
mrgOptional :: (Alternative f, TryMerge f, Mergeable a) => f a -> f (Maybe a) Source #
optional with MergingStrategy knowledge propagation.
mrgAsum :: (Alternative f, TryMerge f, Mergeable a, Foldable t) => t (f a) -> f a Source #
asum with MergingStrategy knowledge propagation.