pandora-0.1.9: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Functor.Applicative

Synopsis

Documentation

class Covariant t => Applicative t where Source #

When providing a new instance, you should ensure it satisfies the three laws:
* Composition: (.) <$> 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

(<**>) :: Applicative u => ((t :.: u) >< (a -> b)) -> ((t :.: u) >< a) -> (t :.: u) >< b 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 Source #

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

Instances
Applicative Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 #

(<**>) :: 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 Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

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

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

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

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

forever :: Stack a -> Stack b Source #

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

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

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

Applicative Identity Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 #

(<**>) :: 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 (Environmental e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environmental

Methods

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.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 #

(<**>) :: 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 (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 #

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

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

Defined in Pandora.Paradigm.Basis.Free

Methods

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.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 #

(<**>) :: 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 (Twister t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Twister

Methods

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

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

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

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

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

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

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

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

Applicative (Stateful s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.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 #

(<**>) :: 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 (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 #

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

Applicative (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.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 #

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

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

Defined in Pandora.Paradigm.Basis.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 #

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

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

Defined in Pandora.Pattern.Junction.Schemes.TU

Methods

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

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

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

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

forever :: TU Co Co t u a -> TU Co Co t u b Source #

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

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

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

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

Defined in Pandora.Pattern.Junction.Schemes.UTU

Methods

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

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

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

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

forever :: UTU Co Co t u a -> UTU Co Co t u b Source #

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

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

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

Applicative u => Applicative (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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

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

forever :: UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

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

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

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

Applicative u => Applicative (UT (Conclusion e) () (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

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

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

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

forever :: UT (Conclusion e) () (Conclusion e) u a -> UT (Conclusion e) () (Conclusion e) u b Source #

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

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

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

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

Defined in Pandora.Pattern.Junction.Schemes.UT

Methods

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

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

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

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

forever :: UT Co Co t u a -> UT Co Co t u b Source #

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

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

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

Bindable u => Applicative (TUV Stateful () Stateful ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

(<*>) :: TUV Stateful () Stateful ((->) s) u ((:*:) s) (a -> b) -> TUV Stateful () Stateful ((->) s) u ((:*:) s) a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b Source #

apply :: TUV Stateful () Stateful ((->) s) u ((:*:) s) (a -> b) -> TUV Stateful () Stateful ((->) s) u ((:*:) s) a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b Source #

(*>) :: TUV Stateful () Stateful ((->) s) u ((:*:) s) a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b Source #

(<*) :: TUV Stateful () Stateful ((->) s) u ((:*:) s) a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b -> TUV Stateful () Stateful ((->) s) u ((:*:) s) a Source #

forever :: TUV Stateful () Stateful ((->) s) u ((:*:) s) a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b Source #

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

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

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

(Applicative t, Applicative u, Applicative v) => Applicative (TUV Co Co Co t u v) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.TUV

Methods

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

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

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

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

forever :: TUV Co Co Co t u v a -> TUV Co Co Co t u v b Source #

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

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

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

(Applicative t, Applicative u, Applicative v, Applicative w) => Applicative (TUVW Co Co Co Co t u v w) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.TUVW

Methods

(<*>) :: TUVW Co Co Co Co t u v w (a -> b) -> TUVW Co Co Co Co t u v w a -> TUVW Co Co Co Co t u v w b Source #

apply :: TUVW Co Co Co Co t u v w (a -> b) -> TUVW Co Co Co Co t u v w a -> TUVW Co Co Co Co t u v w b Source #

(*>) :: TUVW Co Co Co Co t u v w a -> TUVW Co Co Co Co t u v w b -> TUVW Co Co Co Co t u v w b Source #

(<*) :: TUVW Co Co Co Co t u v w a -> TUVW Co Co Co Co t u v w b -> TUVW Co Co Co Co t u v w a Source #

forever :: TUVW Co Co Co Co t u v w a -> TUVW Co Co Co Co t u v w b Source #

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

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

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