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

Grisette.Lib.Control.Applicative

Description

 
Synopsis

Applicative Functors

mrgPure :: (TryMerge m, Applicative m, Mergeable a) => a -> m a Source #

Alias for mrgSingle.

(.<*>) :: (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.