pandora-0.1.8: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Junction.Schemes.TU

Documentation

newtype TU ct cu t u a Source #

Constructors

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Associated Types

type Outline (TU ct cu t u) a :: Type Source #

Methods

composition :: TU ct cu t u a -> Outline (TU ct cu t u) a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

(Contravariant t, Contravariant u) => Covariant (TU Contra Contra t u) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

comap :: (a -> b) -> TU Contra Contra t u a -> TU Contra Contra t u b Source #

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

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

void :: TU Contra Contra t u a -> TU Contra Contra t u () Source #

loeb :: TU Contra Contra t u (TU Contra Contra t u a -> a) -> TU Contra Contra t u a Source #

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

alter :: TU Co Co t u a -> TU Co Co t u a -> TU Co Co t u a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

idle :: TU Co Co t u a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

extract :: TU Co Co t u a -> a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

point :: a -> TU Co Co t u a Source #

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Junction.Schemes.TU

Methods

phi :: (TU Co Co t v a -> b) -> a -> TU Co Co u w b Source #

psi :: (a -> TU Co Co u w b) -> TU Co Co t v a -> b Source #

eta :: a -> (TU Co Co u w :.: TU Co Co t v) a Source #

epsilon :: (TU Co Co t v :.: TU Co Co u w) a -> a Source #

type Outline (TU ct cu t u) a Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Schemes.TU

type Outline (TU ct cu t u) a = (t :.: u) >< a