pandora-0.1.8: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Junction.Schemes.TUV

Documentation

newtype TUV ct cu cv t u v a Source #

Constructors

TUV ((t :.: (u :.: v)) >< a) 
Instances
Composition (TUV ct cu cv t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Associated Types

type Outline (TUV ct cu cv t u v) a :: Type Source #

Methods

composition :: TUV ct cu cv t u v a -> Outline (TUV ct cu cv t u v) a Source #

(Covariant t, Covariant u, Contravariant v) => Contravariant (TUV Co Co Contra t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

full :: TUV Co Co Contra t u v () -> TUV Co Co Contra t u v a Source #

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

(>$$<) :: Contravariant u0 => (a -> b) -> ((TUV Co Co Contra t u v :.: u0) >< a) -> (TUV Co Co Contra t u v :.: u0) >< b Source #

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

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

(>&&<) :: Contravariant u0 => ((TUV Co Co Contra t u v :.: u0) >< a) -> (a -> b) -> (TUV Co Co Contra t u v :.: u0) >< b Source #

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

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

(Covariant t, Contravariant u, Covariant v) => Contravariant (TUV Co Contra Co t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

full :: TUV Co Contra Co t u v () -> TUV Co Contra Co t u v a Source #

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

(>$$<) :: Contravariant u0 => (a -> b) -> ((TUV Co Contra Co t u v :.: u0) >< a) -> (TUV Co Contra Co t u v :.: u0) >< b Source #

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

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

(>&&<) :: Contravariant u0 => ((TUV Co Contra Co t u v :.: u0) >< a) -> (a -> b) -> (TUV Co Contra Co t u v :.: u0) >< b Source #

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

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

(Contravariant t, Covariant u, Covariant v) => Contravariant (TUV Contra Co Co t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

full :: TUV Contra Co Co t u v () -> TUV Contra Co Co t u v a Source #

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

(>$$<) :: Contravariant u0 => (a -> b) -> ((TUV Contra Co Co t u v :.: u0) >< a) -> (TUV Contra Co Co t u v :.: u0) >< b Source #

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

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

(>&&<) :: Contravariant u0 => ((TUV Contra Co Co t u v :.: u0) >< a) -> (a -> b) -> (TUV Contra Co Co t u v :.: u0) >< b Source #

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

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

(Contravariant t, Contravariant u, Contravariant v) => Contravariant (TUV Contra Contra Contra t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

(>$<) :: (a -> b) -> TUV Contra Contra Contra t u v b -> TUV Contra Contra Contra t u v a Source #

contramap :: (a -> b) -> TUV Contra Contra Contra t u v b -> TUV Contra Contra Contra t u v a Source #

(>$) :: b -> TUV Contra Contra Contra t u v b -> TUV Contra Contra Contra t u v a Source #

($<) :: TUV Contra Contra Contra t u v b -> b -> TUV Contra Contra Contra t u v a Source #

full :: TUV Contra Contra Contra t u v () -> TUV Contra Contra Contra t u v a Source #

(>&<) :: TUV Contra Contra Contra t u v b -> (a -> b) -> TUV Contra Contra Contra t u v a Source #

(>$$<) :: Contravariant u0 => (a -> b) -> ((TUV Contra Contra Contra t u v :.: u0) >< a) -> (TUV Contra Contra Contra t u v :.: u0) >< b Source #

(>$$$<) :: (Contravariant u0, Contravariant v0) => (a -> b) -> ((TUV Contra Contra Contra t u v :.: (u0 :.: v0)) >< b) -> (TUV Contra Contra Contra t u v :.: (u0 :.: v0)) >< a Source #

(>$$$$<) :: (Contravariant u0, Contravariant v0, Contravariant w) => (a -> b) -> ((TUV Contra Contra Contra t u v :.: (u0 :.: (v0 :.: w))) >< a) -> (TUV Contra Contra Contra t u v :.: (u0 :.: (v0 :.: w))) >< b Source #

(>&&<) :: Contravariant u0 => ((TUV Contra Contra Contra t u v :.: u0) >< a) -> (a -> b) -> (TUV Contra Contra Contra t u v :.: u0) >< b Source #

(>&&&<) :: (Contravariant u0, Contravariant v0) => ((TUV Contra Contra Contra t u v :.: (u0 :.: v0)) >< b) -> (a -> b) -> (TUV Contra Contra Contra t u v :.: (u0 :.: v0)) >< a Source #

(>&&&&<) :: (Contravariant u0, Contravariant v0, Contravariant w) => ((TUV Contra Contra Contra t u v :.: (u0 :.: (v0 :.: w))) >< a) -> (a -> b) -> (TUV Contra Contra Contra t u v :.: (u0 :.: (v0 :.: w))) >< b Source #

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

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

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

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

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

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

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

(<$$$$>) :: (Covariant u0, Covariant v0, Covariant 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 #

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

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

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

(Covariant t, Contravariant u, Contravariant v) => Covariant (TUV Co Contra Contra t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

void :: TUV Co Contra Contra t u v a -> TUV Co Contra Contra t u v () Source #

loeb :: TUV Co Contra Contra t u v (TUV Co Contra Contra t u v a -> a) -> TUV Co Contra Contra t u v a Source #

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

(<$$>) :: Covariant u0 => (a -> b) -> ((TUV Co Contra Contra t u v :.: u0) >< a) -> (TUV Co Contra Contra t u v :.: u0) >< b Source #

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

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

(<&&>) :: Covariant u0 => ((TUV Co Contra Contra t u v :.: u0) >< a) -> (a -> b) -> (TUV Co Contra Contra t u v :.: u0) >< b Source #

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

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

(Contravariant t, Covariant u, Contravariant v) => Covariant (TUV Contra Co Contra t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

void :: TUV Contra Co Contra t u v a -> TUV Contra Co Contra t u v () Source #

loeb :: TUV Contra Co Contra t u v (TUV Contra Co Contra t u v a -> a) -> TUV Contra Co Contra t u v a Source #

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

(<$$>) :: Covariant u0 => (a -> b) -> ((TUV Contra Co Contra t u v :.: u0) >< a) -> (TUV Contra Co Contra t u v :.: u0) >< b Source #

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

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

(<&&>) :: Covariant u0 => ((TUV Contra Co Contra t u v :.: u0) >< a) -> (a -> b) -> (TUV Contra Co Contra t u v :.: u0) >< b Source #

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

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

(Contravariant t, Contravariant u, Covariant v) => Covariant (TUV Contra Contra Co t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

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

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

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

void :: TUV Contra Contra Co t u v a -> TUV Contra Contra Co t u v () Source #

loeb :: TUV Contra Contra Co t u v (TUV Contra Contra Co t u v a -> a) -> TUV Contra Contra Co t u v a Source #

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

(<$$>) :: Covariant u0 => (a -> b) -> ((TUV Contra Contra Co t u v :.: u0) >< a) -> (TUV Contra Contra Co t u v :.: u0) >< b Source #

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

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

(<&&>) :: Covariant u0 => ((TUV Contra Contra Co t u v :.: u0) >< a) -> (a -> b) -> (TUV Contra Contra Co t u v :.: u0) >< b Source #

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

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

Bindable u => Bindable (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 -> (a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b) -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b Source #

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

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

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

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

(<=<) :: (b -> TUV Stateful () Stateful ((->) s) u ((:*:) s) c) -> (a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) b) -> a -> TUV Stateful () Stateful ((->) s) u ((:*:) s) c 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.Paradigm.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 #

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

alter :: TUV Co Co Co t u v a -> TUV Co Co Co t u v a -> TUV Co Co Co t u v a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

idle :: TUV Co Co Co t u v a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

(>>-) :: Covariant t0 => t0 a -> (a -> TUV Co Co Co t u v b) -> (TUV Co Co Co t u v :.: t0) b Source #

collect :: Covariant t0 => (a -> TUV Co Co Co t u v b) -> t0 a -> (TUV Co Co Co t u v :.: t0) b Source #

distribute :: Covariant t0 => (t0 :.: TUV Co Co Co t u v) a -> (TUV Co Co Co t u v :.: t0) a Source #

(>>>-) :: (Covariant t0, Covariant v0) => (t0 :.: v0) a -> (a -> TUV Co Co Co t u v b) -> (TUV Co Co Co t u v :.: (t0 :.: v0)) b Source #

(>>>>-) :: (Covariant t0, Covariant v0, Covariant w) => (t0 :.: (v0 :.: w)) a -> (a -> TUV Co Co Co t u v b) -> (TUV Co Co Co t u v :.: (t0 :.: (v0 :.: w))) b Source #

(>>>>>-) :: (Covariant t0, Covariant v0, Covariant w, Covariant j) => (t0 :.: (v0 :.: (w :.: j))) a -> (a -> TUV Co Co Co t u v b) -> (TUV Co Co Co t u v :.: (t0 :.: (v0 :.: (w :.: j)))) b Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

extract :: TUV Co Co Co t u v a -> a Source #

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

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

point :: a -> TUV Co Co Co t u v a Source #

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

Defined in Pandora.Paradigm.Inventory.Stateful

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

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

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

traverse :: (Pointable u0, Applicative u0) => (a -> u0 b) -> TUV Co Co Co t u v a -> (u0 :.: TUV Co Co Co t u v) b Source #

sequence :: (Pointable u0, Applicative u0) => (TUV Co Co Co t u v :.: u0) a -> (u0 :.: TUV Co Co Co t u v) a Source #

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

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

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

(t :-|: w, v :-|: x, u :-|: y) => Adjoint (TUV Co Co Co t v u) (TUV Co Co Co w x y) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

Methods

phi :: (TUV Co Co Co t v u a -> b) -> a -> TUV Co Co Co w x y b Source #

psi :: (a -> TUV Co Co Co w x y b) -> TUV Co Co Co t v u a -> b Source #

eta :: a -> (TUV Co Co Co w x y :.: TUV Co Co Co t v u) a Source #

epsilon :: (TUV Co Co Co t v u :.: TUV Co Co Co w x y) a -> a Source #

type Outline (TUV ct cu cv t u v) a Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TUV

type Outline (TUV ct cu cv t u v) a = (t :.: (u :.: v)) >< a