pandora-0.3.0: A box of patterns and paradigms
Pandora.Paradigm.Primary.Transformer.Yoneda
newtype Yoneda t a Source #
Constructors
Fields
Defined in Pandora.Paradigm.Primary.Transformer.Yoneda
Methods
lift :: 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 #
point :: a |-> Yoneda t Source #
extract :: 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 #