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

Pandora.Paradigm.Schemes.UT

Documentation

newtype UT ct cu t u a Source #

Constructors

UT ((u :. t) := a) 

Instances

Instances details
Monad u => Catchable e (Conclusion e <.:> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

catch :: forall (a :: k). (Conclusion e <.:> u) a -> (e -> (Conclusion e <.:> u) a) -> (Conclusion e <.:> u) a Source #

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

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

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

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

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

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

loeb :: (t <.:> u) (a <:= (t <.:> u)) -> (t <.:> u) a Source #

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

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

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

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

join :: (((t <.:> u) :. (t <.:> u)) := a) -> (t <.:> u) a Source #

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

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

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

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

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

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

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

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

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

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

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

($>>=) :: Covariant u0 => ((u0 :. ((:*:) e <.:> u)) := a) -> (a -> ((:*:) e <.:> u) b) -> (u0 :. ((:*:) e <.:> u)) := 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 #

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

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

(Semigroup e, Extendable u) => Extendable (((->) e :: Type -> Type) <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

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

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

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

duplicate :: ((->) e <.:> u) a -> (((->) e <.:> u) :. ((->) e <.:> u)) := a Source #

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

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

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

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

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

extract :: a <:= (t <.:> u) Source #

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

point :: a :=> (t <.:> u) Source #

(Pointable u, Monoid e) => Pointable ((:*:) e <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

point :: a :=> ((:*:) e <.:> u) Source #

(Covariant (t <.:> v), Covariant (w <:.> u), Adjoint v u, Adjoint t w) => Adjoint (t <.:> v) (w <:.> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes

Methods

(-|) :: a -> ((t <.:> v) a -> b) -> (w <:.> u) b Source #

(|-) :: (t <.:> v) a -> (a -> (w <:.> u) b) -> b Source #

phi :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

psi :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

eta :: a -> ((w <:.> u) :. (t <.:> v)) := a Source #

epsilon :: (((t <.:> v) :. (w <:.> u)) := a) -> a Source #

(-|$) :: Covariant v0 => v0 a -> ((t <.:> v) a -> b) -> v0 ((w <:.> u) b) Source #

($|-) :: Covariant v0 => v0 ((t <.:> v) a) -> (a -> (w <:.> u) b) -> v0 b Source #

($$|-) :: (Covariant v0, Covariant w0) => ((v0 :. (w0 :. (t <.:> v))) := a) -> (a -> (w <:.> u) b) -> (v0 :. w0) := b Source #

($$$|-) :: (Covariant v0, Covariant w0, Covariant x) => ((v0 :. (w0 :. (x :. (t <.:> v)))) := a) -> (a -> (w <:.> u) b) -> (v0 :. (w0 :. x)) := b Source #

($$$$|-) :: (Covariant v0, Covariant w0, Covariant x, Covariant y) => ((v0 :. (w0 :. (x :. (y :. (t <.:> v))))) := a) -> (a -> (w <:.> u) b) -> (v0 :. (w0 :. (x :. y))) := b Source #

(Covariant (t <.:> v), Covariant (w <.:> u), Adjoint t u, Adjoint v w) => Adjoint (t <.:> v) (w <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes

Methods

(-|) :: a -> ((t <.:> v) a -> b) -> (w <.:> u) b Source #

(|-) :: (t <.:> v) a -> (a -> (w <.:> u) b) -> b Source #

phi :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

psi :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

eta :: a -> ((w <.:> u) :. (t <.:> v)) := a Source #

epsilon :: (((t <.:> v) :. (w <.:> u)) := a) -> a Source #

(-|$) :: Covariant v0 => v0 a -> ((t <.:> v) a -> b) -> v0 ((w <.:> u) b) Source #

($|-) :: Covariant v0 => v0 ((t <.:> v) a) -> (a -> (w <.:> u) b) -> v0 b Source #

($$|-) :: (Covariant v0, Covariant w0) => ((v0 :. (w0 :. (t <.:> v))) := a) -> (a -> (w <.:> u) b) -> (v0 :. w0) := b Source #

($$$|-) :: (Covariant v0, Covariant w0, Covariant x) => ((v0 :. (w0 :. (x :. (t <.:> v)))) := a) -> (a -> (w <.:> u) b) -> (v0 :. (w0 :. x)) := b Source #

($$$$|-) :: (Covariant v0, Covariant w0, Covariant x, Covariant y) => ((v0 :. (w0 :. (x :. (y :. (t <.:> v))))) := a) -> (a -> (w <.:> u) b) -> (v0 :. (w0 :. (x :. y))) := b Source #

(Covariant (v <:.> t), Covariant (w <.:> u), Adjoint t u, Adjoint v w) => Adjoint (v <:.> t) (w <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes

Methods

(-|) :: a -> ((v <:.> t) a -> b) -> (w <.:> u) b Source #

(|-) :: (v <:.> t) a -> (a -> (w <.:> u) b) -> b Source #

phi :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

psi :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

eta :: a -> ((w <.:> u) :. (v <:.> t)) := a Source #

epsilon :: (((v <:.> t) :. (w <.:> u)) := a) -> a Source #

(-|$) :: Covariant v0 => v0 a -> ((v <:.> t) a -> b) -> v0 ((w <.:> u) b) Source #

($|-) :: Covariant v0 => v0 ((v <:.> t) a) -> (a -> (w <.:> u) b) -> v0 b Source #

($$|-) :: (Covariant v0, Covariant w0) => ((v0 :. (w0 :. (v <:.> t))) := a) -> (a -> (w <.:> u) b) -> (v0 :. w0) := b Source #

($$$|-) :: (Covariant v0, Covariant w0, Covariant x) => ((v0 :. (w0 :. (x :. (v <:.> t)))) := a) -> (a -> (w <.:> u) b) -> (v0 :. (w0 :. x)) := b Source #

($$$$|-) :: (Covariant v0, Covariant w0, Covariant x, Covariant y) => ((v0 :. (w0 :. (x :. (y :. (v <:.> t))))) := a) -> (a -> (w <.:> u) b) -> (v0 :. (w0 :. (x :. y))) := b Source #

Pointable t => Liftable (UT Covariant Covariant t) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

lift :: forall (u :: Type -> Type). Covariant u => u ~> UT Covariant Covariant t u Source #

Extractable t => Lowerable (UT Covariant Covariant t) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

lower :: forall (u :: Type -> Type). Covariant u => UT Covariant Covariant t u ~> u Source #

Interpreted (UT ct cu t u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Associated Types

type Primary (UT ct cu t u) a Source #

Methods

run :: UT ct cu t u a -> Primary (UT ct cu t u) a Source #

unite :: Primary (UT ct cu t u) a -> UT ct cu t u a Source #

(||=) :: (Primary (UT ct cu t u) a -> Primary (UT ct cu t u) b) -> UT ct cu t u a -> UT ct cu t u b Source #

type Primary (UT ct cu t u) a Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

type Primary (UT ct cu t u) a = (u :. t) := a