Pandora.Paradigm.Primary.Transformer.Yoneda
newtype Yoneda t a Source #
Constructors
Fields
Defined in Pandora.Paradigm.Primary.Transformer.Yoneda
Methods
lift :: forall (u :: Type -> Type). Covariant u => u ~> Yoneda u Source #
(<$>) :: (a -> b) -> Yoneda t a -> Yoneda t b Source #
comap :: (a -> b) -> Yoneda t a -> Yoneda t b Source #
(<$) :: a -> Yoneda t b -> Yoneda t a Source #
($>) :: Yoneda t a -> b -> Yoneda t b Source #
void :: Yoneda t a -> Yoneda t () Source #
loeb :: Yoneda t (a <:= Yoneda t) -> Yoneda t a Source #
(<&>) :: Yoneda t a -> (a -> b) -> Yoneda t b Source #
(<$$>) :: Covariant u => (a -> b) -> ((Yoneda t :. u) := a) -> (Yoneda t :. u) := b Source #
(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Yoneda t :. (u :. v)) := a) -> (Yoneda t :. (u :. v)) := b Source #
(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Yoneda t :. (u :. (v :. w))) := a) -> (Yoneda t :. (u :. (v :. w))) := b Source #
(<&&>) :: Covariant u => ((Yoneda t :. u) := a) -> (a -> b) -> (Yoneda t :. u) := b Source #
(<&&&>) :: (Covariant u, Covariant v) => ((Yoneda t :. (u :. v)) := a) -> (a -> b) -> (Yoneda t :. (u :. v)) := b Source #
(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Yoneda t :. (u :. (v :. w))) := a) -> (a -> b) -> (Yoneda t :. (u :. (v :. w))) := b Source #
(<*>) :: 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 #
(<+>) :: Yoneda t a -> Yoneda t a -> Yoneda t a Source #
alter :: Yoneda t a -> Yoneda t a -> Yoneda t a Source #
empty :: Yoneda t a Source #
extract :: a <:= Yoneda t Source #
point :: a :=> Yoneda t Source #
(-|) :: a -> (Yoneda t a -> b) -> Yoneda u b Source #
(|-) :: Yoneda t a -> (a -> Yoneda u b) -> b Source #
phi :: (Yoneda t a -> b) -> a -> Yoneda u b Source #
psi :: (a -> Yoneda u b) -> Yoneda t a -> b Source #
eta :: a -> (Yoneda u :. Yoneda t) := a Source #
epsilon :: ((Yoneda t :. Yoneda u) := a) -> a Source #
(-|$) :: Covariant v => v a -> (Yoneda t a -> b) -> v (Yoneda u b) Source #
($|-) :: Covariant v => v (Yoneda t a) -> (a -> Yoneda u b) -> v b Source #
($$|-) :: (Covariant v, Covariant w) => ((v :. (w :. Yoneda t)) := a) -> (a -> Yoneda u b) -> (v :. w) := b Source #
($$$|-) :: (Covariant v, Covariant w, Covariant x) => ((v :. (w :. (x :. Yoneda t))) := a) -> (a -> Yoneda u b) -> (v :. (w :. x)) := b Source #
($$$$|-) :: (Covariant v, Covariant w, Covariant x, Covariant y) => ((v :. (w :. (x :. (y :. Yoneda t)))) := a) -> (a -> Yoneda u b) -> (v :. (w :. (x :. y))) := b Source #