pandora-0.4.1: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Pattern.Functor.Applicative

Synopsis

Documentation

class Covariant t => Applicative t where Source #

When providing a new instance, you should ensure it satisfies:
* Interpreted: (.) <$> u <*> v <*> w ≡ u <*> (v <*> w)
* Left interchange: x <*> (f <$> y) ≡ (. f) <$> x <*> y
* Right interchange: f <$> (x <*> y) ≡ (f .) <$> x <*> y

Minimal complete definition

(<*>)

Methods

(<*>) :: t (a -> b) -> t a -> t b infixl 4 Source #

Infix version of apply

apply :: t (a -> b) -> t a -> t b Source #

Prefix version of <*>

(*>) :: t a -> t b -> t b infixl 4 Source #

Sequence actions, discarding the value of the first argument

(<*) :: t a -> t b -> t a infixl 4 Source #

Sequence actions, discarding the value of the second argument

forever :: t a -> t b Source #

Repeat an action indefinitely

(<%>) :: t a -> t (a -> b) -> t b Source #

Flipped version of <*>

(<**>) :: Applicative u => ((t :. u) := (a -> b)) -> ((t :. u) := a) -> (t :. u) := b infixl 3 Source #

Infix versions of apply with various nesting levels

(<***>) :: (Applicative u, Applicative v) => ((t :. (u :. v)) := (a -> b)) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b infixl 2 Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((t :. (u :. (v :. w))) := (a -> b)) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b infixl 1 Source #

Instances

Instances details
Applicative Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

(<*>) :: Identity (a -> b) -> Identity a -> Identity b Source #

apply :: Identity (a -> b) -> Identity a -> Identity b Source #

(*>) :: Identity a -> Identity b -> Identity b Source #

(<*) :: Identity a -> Identity b -> Identity a Source #

forever :: Identity a -> Identity b Source #

(<%>) :: Identity a -> Identity (a -> b) -> Identity b Source #

(<**>) :: Applicative u => ((Identity :. u) := (a -> b)) -> ((Identity :. u) := a) -> (Identity :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Identity :. (u :. v)) := (a -> b)) -> ((Identity :. (u :. v)) := a) -> (Identity :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Identity :. (u :. (v :. w))) := (a -> b)) -> ((Identity :. (u :. (v :. w))) := a) -> (Identity :. (u :. (v :. w))) := b Source #

Applicative Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

(<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

apply :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

(*>) :: Maybe a -> Maybe b -> Maybe b Source #

(<*) :: Maybe a -> Maybe b -> Maybe a Source #

forever :: Maybe a -> Maybe b Source #

(<%>) :: Maybe a -> Maybe (a -> b) -> Maybe b Source #

(<**>) :: Applicative u => ((Maybe :. u) := (a -> b)) -> ((Maybe :. u) := a) -> (Maybe :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Maybe :. (u :. v)) := (a -> b)) -> ((Maybe :. (u :. v)) := a) -> (Maybe :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Maybe :. (u :. (v :. w))) := (a -> b)) -> ((Maybe :. (u :. (v :. w))) := a) -> (Maybe :. (u :. (v :. w))) := b Source #

Applicative (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Proxy

Methods

(<*>) :: Proxy (a -> b) -> Proxy a -> Proxy b Source #

apply :: Proxy (a -> b) -> Proxy a -> Proxy b Source #

(*>) :: Proxy a -> Proxy b -> Proxy b Source #

(<*) :: Proxy a -> Proxy b -> Proxy a Source #

forever :: Proxy a -> Proxy b Source #

(<%>) :: Proxy a -> Proxy (a -> b) -> Proxy b Source #

(<**>) :: Applicative u => ((Proxy :. u) := (a -> b)) -> ((Proxy :. u) := a) -> (Proxy :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Proxy :. (u :. v)) := (a -> b)) -> ((Proxy :. (u :. v)) := a) -> (Proxy :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Proxy :. (u :. (v :. w))) := (a -> b)) -> ((Proxy :. (u :. (v :. w))) := a) -> (Proxy :. (u :. (v :. w))) := b Source #

Semigroup e => Applicative (Validation e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

(<*>) :: Validation e (a -> b) -> Validation e a -> Validation e b Source #

apply :: Validation e (a -> b) -> Validation e a -> Validation e b Source #

(*>) :: Validation e a -> Validation e b -> Validation e b Source #

(<*) :: Validation e a -> Validation e b -> Validation e a Source #

forever :: Validation e a -> Validation e b Source #

(<%>) :: Validation e a -> Validation e (a -> b) -> Validation e b Source #

(<**>) :: Applicative u => ((Validation e :. u) := (a -> b)) -> ((Validation e :. u) := a) -> (Validation e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Validation e :. (u :. v)) := (a -> b)) -> ((Validation e :. (u :. v)) := a) -> (Validation e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Validation e :. (u :. (v :. w))) := (a -> b)) -> ((Validation e :. (u :. (v :. w))) := a) -> (Validation e :. (u :. (v :. w))) := b Source #

Applicative t => Applicative (Yoneda t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Yoneda

Methods

(<*>) :: Yoneda t (a -> b) -> Yoneda t a -> Yoneda t b Source #

apply :: Yoneda t (a -> b) -> Yoneda t a -> Yoneda t b Source #

(*>) :: Yoneda t a -> Yoneda t b -> Yoneda t b Source #

(<*) :: Yoneda t a -> Yoneda t b -> Yoneda t a Source #

forever :: Yoneda t a -> Yoneda t b Source #

(<%>) :: Yoneda t a -> Yoneda t (a -> b) -> Yoneda t b Source #

(<**>) :: Applicative u => ((Yoneda t :. u) := (a -> b)) -> ((Yoneda t :. u) := a) -> (Yoneda t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Yoneda t :. (u :. v)) := (a -> b)) -> ((Yoneda t :. (u :. v)) := a) -> (Yoneda t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Yoneda t :. (u :. (v :. w))) := (a -> b)) -> ((Yoneda t :. (u :. (v :. w))) := a) -> (Yoneda t :. (u :. (v :. w))) := b Source #

Applicative t => Applicative (Jack t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Jack

Methods

(<*>) :: Jack t (a -> b) -> Jack t a -> Jack t b Source #

apply :: Jack t (a -> b) -> Jack t a -> Jack t b Source #

(*>) :: Jack t a -> Jack t b -> Jack t b Source #

(<*) :: Jack t a -> Jack t b -> Jack t a Source #

forever :: Jack t a -> Jack t b Source #

(<%>) :: Jack t a -> Jack t (a -> b) -> Jack t b Source #

(<**>) :: Applicative u => ((Jack t :. u) := (a -> b)) -> ((Jack t :. u) := a) -> (Jack t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Jack t :. (u :. v)) := (a -> b)) -> ((Jack t :. (u :. v)) := a) -> (Jack t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Jack t :. (u :. (v :. w))) := (a -> b)) -> ((Jack t :. (u :. (v :. w))) := a) -> (Jack t :. (u :. (v :. w))) := b Source #

Applicative (Outline f) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Outline

Methods

(<*>) :: Outline f (a -> b) -> Outline f a -> Outline f b Source #

apply :: Outline f (a -> b) -> Outline f a -> Outline f b Source #

(*>) :: Outline f a -> Outline f b -> Outline f b Source #

(<*) :: Outline f a -> Outline f b -> Outline f a Source #

forever :: Outline f a -> Outline f b Source #

(<%>) :: Outline f a -> Outline f (a -> b) -> Outline f b Source #

(<**>) :: Applicative u => ((Outline f :. u) := (a -> b)) -> ((Outline f :. u) := a) -> (Outline f :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Outline f :. (u :. v)) := (a -> b)) -> ((Outline f :. (u :. v)) := a) -> (Outline f :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Outline f :. (u :. (v :. w))) := (a -> b)) -> ((Outline f :. (u :. (v :. w))) := a) -> (Outline f :. (u :. (v :. w))) := b Source #

Applicative t => Applicative (Tap t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

(<*>) :: Tap t (a -> b) -> Tap t a -> Tap t b Source #

apply :: Tap t (a -> b) -> Tap t a -> Tap t b Source #

(*>) :: Tap t a -> Tap t b -> Tap t b Source #

(<*) :: Tap t a -> Tap t b -> Tap t a Source #

forever :: Tap t a -> Tap t b Source #

(<%>) :: Tap t a -> Tap t (a -> b) -> Tap t b Source #

(<**>) :: Applicative u => ((Tap t :. u) := (a -> b)) -> ((Tap t :. u) := a) -> (Tap t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Tap t :. (u :. v)) := (a -> b)) -> ((Tap t :. (u :. v)) := a) -> (Tap t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Tap t :. (u :. (v :. w))) := (a -> b)) -> ((Tap t :. (u :. (v :. w))) := a) -> (Tap t :. (u :. (v :. w))) := b Source #

Applicative (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

(<*>) :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) (a -> b) -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b Source #

apply :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) (a -> b) -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b Source #

(*>) :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b Source #

(<*) :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a Source #

forever :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b Source #

(<%>) :: Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) a -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) (a -> b) -> Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) b Source #

(<**>) :: Applicative u => ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. u) := (a -> b)) -> ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. u) := a) -> (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. v)) := (a -> b)) -> ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. v)) := a) -> (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. (v :. w))) := (a -> b)) -> ((Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. (v :. w))) := a) -> (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)) :. (u :. (v :. w))) := b Source #

Applicative (Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

(<*>) :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) (a -> b) -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b Source #

apply :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) (a -> b) -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b Source #

(*>) :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b Source #

(<*) :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a Source #

forever :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b Source #

(<%>) :: Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) a -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) (a -> b) -> Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) b Source #

(<**>) :: Applicative u => ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. u) := (a -> b)) -> ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. u) := a) -> (Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. v)) := (a -> b)) -> ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. v)) := a) -> (Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. (v :. w))) := (a -> b)) -> ((Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. (v :. w))) := a) -> (Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:)) :. (u :. (v :. w))) := b Source #

Applicative (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

(<*>) :: Tap ((List <:.:> List) := (:*:)) (a -> b) -> Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b Source #

apply :: Tap ((List <:.:> List) := (:*:)) (a -> b) -> Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b Source #

(*>) :: Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b -> Tap ((List <:.:> List) := (:*:)) b Source #

(<*) :: Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b -> Tap ((List <:.:> List) := (:*:)) a Source #

forever :: Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b Source #

(<%>) :: Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) (a -> b) -> Tap ((List <:.:> List) := (:*:)) b Source #

(<**>) :: Applicative u => ((Tap ((List <:.:> List) := (:*:)) :. u) := (a -> b)) -> ((Tap ((List <:.:> List) := (:*:)) :. u) := a) -> (Tap ((List <:.:> List) := (:*:)) :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Tap ((List <:.:> List) := (:*:)) :. (u :. v)) := (a -> b)) -> ((Tap ((List <:.:> List) := (:*:)) :. (u :. v)) := a) -> (Tap ((List <:.:> List) := (:*:)) :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Tap ((List <:.:> List) := (:*:)) :. (u :. (v :. w))) := (a -> b)) -> ((Tap ((List <:.:> List) := (:*:)) :. (u :. (v :. w))) := a) -> (Tap ((List <:.:> List) := (:*:)) :. (u :. (v :. w))) := b Source #

Covariant t => Applicative (Instruction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

(<*>) :: Instruction t (a -> b) -> Instruction t a -> Instruction t b Source #

apply :: Instruction t (a -> b) -> Instruction t a -> Instruction t b Source #

(*>) :: Instruction t a -> Instruction t b -> Instruction t b Source #

(<*) :: Instruction t a -> Instruction t b -> Instruction t a Source #

forever :: Instruction t a -> Instruction t b Source #

(<%>) :: Instruction t a -> Instruction t (a -> b) -> Instruction t b Source #

(<**>) :: Applicative u => ((Instruction t :. u) := (a -> b)) -> ((Instruction t :. u) := a) -> (Instruction t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Instruction t :. (u :. v)) := (a -> b)) -> ((Instruction t :. (u :. v)) := a) -> (Instruction t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Instruction t :. (u :. (v :. w))) := (a -> b)) -> ((Instruction t :. (u :. (v :. w))) := a) -> (Instruction t :. (u :. (v :. w))) := b Source #

Applicative t => Applicative (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<*>) :: Construction t (a -> b) -> Construction t a -> Construction t b Source #

apply :: Construction t (a -> b) -> Construction t a -> Construction t b Source #

(*>) :: Construction t a -> Construction t b -> Construction t b Source #

(<*) :: Construction t a -> Construction t b -> Construction t a Source #

forever :: Construction t a -> Construction t b Source #

(<%>) :: Construction t a -> Construction t (a -> b) -> Construction t b Source #

(<**>) :: Applicative u => ((Construction t :. u) := (a -> b)) -> ((Construction t :. u) := a) -> (Construction t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Construction t :. (u :. v)) := (a -> b)) -> ((Construction t :. (u :. v)) := a) -> (Construction t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Construction t :. (u :. (v :. w))) := (a -> b)) -> ((Construction t :. (u :. (v :. w))) := a) -> (Construction t :. (u :. (v :. w))) := b Source #

Applicative (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

(<*>) :: Conclusion e (a -> b) -> Conclusion e a -> Conclusion e b Source #

apply :: Conclusion e (a -> b) -> Conclusion e a -> Conclusion e b Source #

(*>) :: Conclusion e a -> Conclusion e b -> Conclusion e b Source #

(<*) :: Conclusion e a -> Conclusion e b -> Conclusion e a Source #

forever :: Conclusion e a -> Conclusion e b Source #

(<%>) :: Conclusion e a -> Conclusion e (a -> b) -> Conclusion e b Source #

(<**>) :: Applicative u => ((Conclusion e :. u) := (a -> b)) -> ((Conclusion e :. u) := a) -> (Conclusion e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Conclusion e :. (u :. v)) := (a -> b)) -> ((Conclusion e :. (u :. v)) := a) -> (Conclusion e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Conclusion e :. (u :. (v :. w))) := (a -> b)) -> ((Conclusion e :. (u :. (v :. w))) := a) -> (Conclusion e :. (u :. (v :. w))) := b Source #

(forall a. Semigroup ((t <:.> Construction t) := a), Bindable t, Pointable t, Avoidable t) => Applicative (Comprehension t) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Modification.Comprehension

Methods

(<*>) :: Comprehension t (a -> b) -> Comprehension t a -> Comprehension t b Source #

apply :: Comprehension t (a -> b) -> Comprehension t a -> Comprehension t b Source #

(*>) :: Comprehension t a -> Comprehension t b -> Comprehension t b Source #

(<*) :: Comprehension t a -> Comprehension t b -> Comprehension t a Source #

forever :: Comprehension t a -> Comprehension t b Source #

(<%>) :: Comprehension t a -> Comprehension t (a -> b) -> Comprehension t b Source #

(<**>) :: Applicative u => ((Comprehension t :. u) := (a -> b)) -> ((Comprehension t :. u) := a) -> (Comprehension t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Comprehension t :. (u :. v)) := (a -> b)) -> ((Comprehension t :. (u :. v)) := a) -> (Comprehension t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Comprehension t :. (u :. (v :. w))) := (a -> b)) -> ((Comprehension t :. (u :. (v :. w))) := a) -> (Comprehension t :. (u :. (v :. w))) := b Source #

Applicative (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<*>) :: State s (a -> b) -> State s a -> State s b Source #

apply :: State s (a -> b) -> State s a -> State s b Source #

(*>) :: State s a -> State s b -> State s b Source #

(<*) :: State s a -> State s b -> State s a Source #

forever :: State s a -> State s b Source #

(<%>) :: State s a -> State s (a -> b) -> State s b Source #

(<**>) :: Applicative u => ((State s :. u) := (a -> b)) -> ((State s :. u) := a) -> (State s :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((State s :. (u :. v)) := (a -> b)) -> ((State s :. (u :. v)) := a) -> (State s :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((State s :. (u :. (v :. w))) := (a -> b)) -> ((State s :. (u :. (v :. w))) := a) -> (State s :. (u :. (v :. w))) := b Source #

Applicative (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<*>) :: Environment e (a -> b) -> Environment e a -> Environment e b Source #

apply :: Environment e (a -> b) -> Environment e a -> Environment e b Source #

(*>) :: Environment e a -> Environment e b -> Environment e b Source #

(<*) :: Environment e a -> Environment e b -> Environment e a Source #

forever :: Environment e a -> Environment e b Source #

(<%>) :: Environment e a -> Environment e (a -> b) -> Environment e b Source #

(<**>) :: Applicative u => ((Environment e :. u) := (a -> b)) -> ((Environment e :. u) := a) -> (Environment e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Environment e :. (u :. v)) := (a -> b)) -> ((Environment e :. (u :. v)) := a) -> (Environment e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Environment e :. (u :. (v :. w))) := (a -> b)) -> ((Environment e :. (u :. (v :. w))) := a) -> (Environment e :. (u :. (v :. w))) := b Source #

Semigroup e => Applicative (Accumulator e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

(<*>) :: Accumulator e (a -> b) -> Accumulator e a -> Accumulator e b Source #

apply :: Accumulator e (a -> b) -> Accumulator e a -> Accumulator e b Source #

(*>) :: Accumulator e a -> Accumulator e b -> Accumulator e b Source #

(<*) :: Accumulator e a -> Accumulator e b -> Accumulator e a Source #

forever :: Accumulator e a -> Accumulator e b Source #

(<%>) :: Accumulator e a -> Accumulator e (a -> b) -> Accumulator e b Source #

(<**>) :: Applicative u => ((Accumulator e :. u) := (a -> b)) -> ((Accumulator e :. u) := a) -> (Accumulator e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Accumulator e :. (u :. v)) := (a -> b)) -> ((Accumulator e :. (u :. v)) := a) -> (Accumulator e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Accumulator e :. (u :. (v :. w))) := (a -> b)) -> ((Accumulator e :. (u :. (v :. w))) := a) -> (Accumulator e :. (u :. (v :. w))) := b Source #

Applicative (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

(<*>) :: Tagged tag (a -> b) -> Tagged tag a -> Tagged tag b Source #

apply :: Tagged tag (a -> b) -> Tagged tag a -> Tagged tag b Source #

(*>) :: Tagged tag a -> Tagged tag b -> Tagged tag b Source #

(<*) :: Tagged tag a -> Tagged tag b -> Tagged tag a Source #

forever :: Tagged tag a -> Tagged tag b Source #

(<%>) :: Tagged tag a -> Tagged tag (a -> b) -> Tagged tag b Source #

(<**>) :: Applicative u => ((Tagged tag :. u) := (a -> b)) -> ((Tagged tag :. u) := a) -> (Tagged tag :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Tagged tag :. (u :. v)) := (a -> b)) -> ((Tagged tag :. (u :. v)) := a) -> (Tagged tag :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Tagged tag :. (u :. (v :. w))) := (a -> b)) -> ((Tagged tag :. (u :. (v :. w))) := a) -> (Tagged tag :. (u :. (v :. w))) := b Source #

Applicative (Schematic Monad t u) => Applicative (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(<*>) :: (t :> u) (a -> b) -> (t :> u) a -> (t :> u) b Source #

apply :: (t :> u) (a -> b) -> (t :> u) a -> (t :> u) b Source #

(*>) :: (t :> u) a -> (t :> u) b -> (t :> u) b Source #

(<*) :: (t :> u) a -> (t :> u) b -> (t :> u) a Source #

forever :: (t :> u) a -> (t :> u) b Source #

(<%>) :: (t :> u) a -> (t :> u) (a -> b) -> (t :> u) b Source #

(<**>) :: Applicative u0 => (((t :> u) :. u0) := (a -> b)) -> (((t :> u) :. u0) := a) -> ((t :> u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => (((t :> u) :. (u0 :. v)) := (a -> b)) -> (((t :> u) :. (u0 :. v)) := a) -> ((t :> u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => (((t :> u) :. (u0 :. (v :. w))) := (a -> b)) -> (((t :> u) :. (u0 :. (v :. w))) := a) -> ((t :> u) :. (u0 :. (v :. w))) := b Source #

(Applicative t, Applicative u) => Applicative (Day t u) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Day

Methods

(<*>) :: Day t u (a -> b) -> Day t u a -> Day t u b Source #

apply :: Day t u (a -> b) -> Day t u a -> Day t u b Source #

(*>) :: Day t u a -> Day t u b -> Day t u b Source #

(<*) :: Day t u a -> Day t u b -> Day t u a Source #

forever :: Day t u a -> Day t u b Source #

(<%>) :: Day t u a -> Day t u (a -> b) -> Day t u b Source #

(<**>) :: Applicative u0 => ((Day t u :. u0) := (a -> b)) -> ((Day t u :. u0) := a) -> (Day t u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((Day t u :. (u0 :. v)) := (a -> b)) -> ((Day t u :. (u0 :. v)) := a) -> (Day t u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((Day t u :. (u0 :. (v :. w))) := (a -> b)) -> ((Day t u :. (u0 :. (v :. w))) := a) -> (Day t u :. (u0 :. (v :. w))) := b Source #

Applicative t => Applicative (Backwards t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

(<*>) :: Backwards t (a -> b) -> Backwards t a -> Backwards t b Source #

apply :: Backwards t (a -> b) -> Backwards t a -> Backwards t b Source #

(*>) :: Backwards t a -> Backwards t b -> Backwards t b Source #

(<*) :: Backwards t a -> Backwards t b -> Backwards t a Source #

forever :: Backwards t a -> Backwards t b Source #

(<%>) :: Backwards t a -> Backwards t (a -> b) -> Backwards t b Source #

(<**>) :: Applicative u => ((Backwards t :. u) := (a -> b)) -> ((Backwards t :. u) := a) -> (Backwards t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Backwards t :. (u :. v)) := (a -> b)) -> ((Backwards t :. (u :. v)) := a) -> (Backwards t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Backwards t :. (u :. (v :. w))) := (a -> b)) -> ((Backwards t :. (u :. (v :. w))) := a) -> (Backwards t :. (u :. (v :. w))) := b Source #

Applicative t => Applicative (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(<*>) :: Reverse t (a -> b) -> Reverse t a -> Reverse t b Source #

apply :: Reverse t (a -> b) -> Reverse t a -> Reverse t b Source #

(*>) :: Reverse t a -> Reverse t b -> Reverse t b Source #

(<*) :: Reverse t a -> Reverse t b -> Reverse t a Source #

forever :: Reverse t a -> Reverse t b Source #

(<%>) :: Reverse t a -> Reverse t (a -> b) -> Reverse t b Source #

(<**>) :: Applicative u => ((Reverse t :. u) := (a -> b)) -> ((Reverse t :. u) := a) -> (Reverse t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Reverse t :. (u :. v)) := (a -> b)) -> ((Reverse t :. (u :. v)) := a) -> (Reverse t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Reverse t :. (u :. (v :. w))) := (a -> b)) -> ((Reverse t :. (u :. (v :. w))) := a) -> (Reverse t :. (u :. (v :. w))) := b Source #

Applicative (Schematic Comonad t u) => Applicative (t :< u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic

Methods

(<*>) :: (t :< u) (a -> b) -> (t :< u) a -> (t :< u) b Source #

apply :: (t :< u) (a -> b) -> (t :< u) a -> (t :< u) b Source #

(*>) :: (t :< u) a -> (t :< u) b -> (t :< u) b Source #

(<*) :: (t :< u) a -> (t :< u) b -> (t :< u) a Source #

forever :: (t :< u) a -> (t :< u) b Source #

(<%>) :: (t :< u) a -> (t :< u) (a -> b) -> (t :< u) b Source #

(<**>) :: Applicative u0 => (((t :< u) :. u0) := (a -> b)) -> (((t :< u) :. u0) := a) -> ((t :< u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => (((t :< u) :. (u0 :. v)) := (a -> b)) -> (((t :< u) :. (u0 :. v)) := a) -> ((t :< u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => (((t :< u) :. (u0 :. (v :. w))) := (a -> b)) -> (((t :< u) :. (u0 :. (v :. w))) := a) -> ((t :< u) :. (u0 :. (v :. w))) := b Source #

Applicative ((->) e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Function

Methods

(<*>) :: (e -> (a -> b)) -> (e -> a) -> e -> b Source #

apply :: (e -> (a -> b)) -> (e -> a) -> e -> b Source #

(*>) :: (e -> a) -> (e -> b) -> e -> b Source #

(<*) :: (e -> a) -> (e -> b) -> e -> a Source #

forever :: (e -> a) -> e -> b Source #

(<%>) :: (e -> a) -> (e -> (a -> b)) -> e -> b Source #

(<**>) :: Applicative u => (((->) e :. u) := (a -> b)) -> (((->) e :. u) := a) -> ((->) e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => (((->) e :. (u :. v)) := (a -> b)) -> (((->) e :. (u :. v)) := a) -> ((->) e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => (((->) e :. (u :. (v :. w))) := (a -> b)) -> (((->) e :. (u :. (v :. w))) := a) -> ((->) e :. (u :. (v :. w))) := b Source #

Covariant t => Applicative (Continuation r t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Continuation

Methods

(<*>) :: Continuation r t (a -> b) -> Continuation r t a -> Continuation r t b Source #

apply :: Continuation r t (a -> b) -> Continuation r t a -> Continuation r t b Source #

(*>) :: Continuation r t a -> Continuation r t b -> Continuation r t b Source #

(<*) :: Continuation r t a -> Continuation r t b -> Continuation r t a Source #

forever :: Continuation r t a -> Continuation r t b Source #

(<%>) :: Continuation r t a -> Continuation r t (a -> b) -> Continuation r t b Source #

(<**>) :: Applicative u => ((Continuation r t :. u) := (a -> b)) -> ((Continuation r t :. u) := a) -> (Continuation r t :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => ((Continuation r t :. (u :. v)) := (a -> b)) -> ((Continuation r t :. (u :. v)) := a) -> (Continuation r t :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Continuation r t :. (u :. (v :. w))) := (a -> b)) -> ((Continuation r t :. (u :. (v :. w))) := a) -> (Continuation r t :. (u :. (v :. w))) := b Source #

(Adjoint t' t, Bindable u) => Applicative ((t <:<.>:> t') := u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

(<*>) :: ((t <:<.>:> t') := u) (a -> b) -> ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) b Source #

apply :: ((t <:<.>:> t') := u) (a -> b) -> ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) b Source #

(*>) :: ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) b -> ((t <:<.>:> t') := u) b Source #

(<*) :: ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) b -> ((t <:<.>:> t') := u) a Source #

forever :: ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) b Source #

(<%>) :: ((t <:<.>:> t') := u) a -> ((t <:<.>:> t') := u) (a -> b) -> ((t <:<.>:> t') := u) b Source #

(<**>) :: Applicative u0 => ((((t <:<.>:> t') := u) :. u0) := (a -> b)) -> ((((t <:<.>:> t') := u) :. u0) := a) -> (((t <:<.>:> t') := u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((((t <:<.>:> t') := u) :. (u0 :. v)) := (a -> b)) -> ((((t <:<.>:> t') := u) :. (u0 :. v)) := a) -> (((t <:<.>:> t') := u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((((t <:<.>:> t') := u) :. (u0 :. (v :. w))) := (a -> b)) -> ((((t <:<.>:> t') := u) :. (u0 :. (v :. w))) := a) -> (((t <:<.>:> t') := u) :. (u0 :. (v :. w))) := b Source #

(Applicative t, Applicative u) => Applicative (t <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

(<*>) :: (t <.:> u) (a -> b) -> (t <.:> u) a -> (t <.:> u) b Source #

apply :: (t <.:> u) (a -> b) -> (t <.:> u) a -> (t <.:> u) b Source #

(*>) :: (t <.:> u) a -> (t <.:> u) b -> (t <.:> u) b Source #

(<*) :: (t <.:> u) a -> (t <.:> u) b -> (t <.:> u) a Source #

forever :: (t <.:> u) a -> (t <.:> u) b Source #

(<%>) :: (t <.:> u) a -> (t <.:> u) (a -> b) -> (t <.:> u) b Source #

(<**>) :: Applicative u0 => (((t <.:> u) :. u0) := (a -> b)) -> (((t <.:> u) :. u0) := a) -> ((t <.:> u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => (((t <.:> u) :. (u0 :. v)) := (a -> b)) -> (((t <.:> u) :. (u0 :. v)) := a) -> ((t <.:> u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => (((t <.:> u) :. (u0 :. (v :. w))) := (a -> b)) -> (((t <.:> u) :. (u0 :. (v :. w))) := a) -> ((t <.:> u) :. (u0 :. (v :. w))) := b Source #

(Semigroup e, Applicative u) => Applicative ((:*:) e <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

(<*>) :: ((:*:) e <.:> u) (a -> b) -> ((:*:) e <.:> u) a -> ((:*:) e <.:> u) b Source #

apply :: ((:*:) e <.:> u) (a -> b) -> ((:*:) e <.:> u) a -> ((:*:) e <.:> u) b Source #

(*>) :: ((:*:) e <.:> u) a -> ((:*:) e <.:> u) b -> ((:*:) e <.:> u) b Source #

(<*) :: ((:*:) e <.:> u) a -> ((:*:) e <.:> u) b -> ((:*:) e <.:> u) a Source #

forever :: ((:*:) e <.:> u) a -> ((:*:) e <.:> u) b Source #

(<%>) :: ((:*:) e <.:> u) a -> ((:*:) e <.:> u) (a -> b) -> ((:*:) e <.:> u) b Source #

(<**>) :: Applicative u0 => ((((:*:) e <.:> u) :. u0) := (a -> b)) -> ((((:*:) e <.:> u) :. u0) := a) -> (((:*:) e <.:> u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((((:*:) e <.:> u) :. (u0 :. v)) := (a -> b)) -> ((((:*:) e <.:> u) :. (u0 :. v)) := a) -> (((:*:) e <.:> u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((((:*:) e <.:> u) :. (u0 :. (v :. w))) := (a -> b)) -> ((((:*:) e <.:> u) :. (u0 :. (v :. w))) := a) -> (((:*:) e <.:> u) :. (u0 :. (v :. w))) := b Source #

(Applicative t, Applicative u) => Applicative (t <:.> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

(<*>) :: (t <:.> u) (a -> b) -> (t <:.> u) a -> (t <:.> u) b Source #

apply :: (t <:.> u) (a -> b) -> (t <:.> u) a -> (t <:.> u) b Source #

(*>) :: (t <:.> u) a -> (t <:.> u) b -> (t <:.> u) b Source #

(<*) :: (t <:.> u) a -> (t <:.> u) b -> (t <:.> u) a Source #

forever :: (t <:.> u) a -> (t <:.> u) b Source #

(<%>) :: (t <:.> u) a -> (t <:.> u) (a -> b) -> (t <:.> u) b Source #

(<**>) :: Applicative u0 => (((t <:.> u) :. u0) := (a -> b)) -> (((t <:.> u) :. u0) := a) -> ((t <:.> u) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => (((t <:.> u) :. (u0 :. v)) := (a -> b)) -> (((t <:.> u) :. (u0 :. v)) := a) -> ((t <:.> u) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => (((t <:.> u) :. (u0 :. (v :. w))) := (a -> b)) -> (((t <:.> u) :. (u0 :. (v :. w))) := a) -> ((t <:.> u) :. (u0 :. (v :. w))) := b Source #