morphisms-functors-0.1.5: Functors, theirs compositions and transformations
Data.Functor.Yoneda
newtype Yoneda (t :: * -> *) (a :: *) Source #
Constructors
Fields
Defined in Data.Functor.Yoneda
Methods
lift :: Covariant u => u a -> Yoneda u a Source #
lower :: Covariant u => Yoneda u a -> u a 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 #
(<+>) :: Yoneda t a -> Yoneda t a -> Yoneda t a Source #
alter :: Yoneda t a -> Yoneda t a -> Yoneda t a 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 #
exclusive :: Yoneda t a Source #
extract :: Yoneda t a -> a Source #
point :: a -> Yoneda t a Source #
(->>) :: (Pointable u, Applicative u) => Yoneda t a -> (a -> u b) -> (u :.: Yoneda t) b Source #
traverse :: (Pointable u, Applicative u) => (a -> u b) -> Yoneda t a -> (u :.: Yoneda t) b Source #
sequence :: (Pointable u, Applicative u) => (Yoneda t :.: u) a -> (u :.: Yoneda t) a Source #
(=>>) :: Yoneda t a -> (Yoneda t a -> b) -> Yoneda t b Source #
(<<=) :: (Yoneda t a -> b) -> Yoneda t a -> Yoneda t b Source #
extend :: (Yoneda t a -> b) -> Yoneda t a -> Yoneda t b Source #
duplicate :: Yoneda t a -> (Yoneda t :.: Yoneda t) a Source #
(=<=) :: (Yoneda t b -> c) -> (Yoneda t a -> b) -> Yoneda t a -> c Source #
(=>=) :: (Yoneda t a -> b) -> (Yoneda t b -> c) -> Yoneda t a -> c Source #
(>>-) :: Covariant t0 => t0 a -> (a -> Yoneda t b) -> (Yoneda t :.: t0) b Source #
collect :: Covariant t0 => (a -> Yoneda t b) -> t0 a -> (Yoneda t :.: t0) b Source #
distribute :: Covariant t0 => (t0 :.: Yoneda t) a -> (Yoneda t :.: t0) a Source #
(>>=) :: Yoneda t a -> (a -> Yoneda t b) -> Yoneda t b Source #
(=<<) :: (a -> Yoneda t b) -> Yoneda t a -> Yoneda t b Source #
bind :: (a -> Yoneda t b) -> Yoneda t a -> Yoneda t b Source #
join :: (Yoneda t :.: Yoneda t) a -> Yoneda t a Source #
(>=>) :: (a -> Yoneda t b) -> (b -> Yoneda t c) -> a -> Yoneda t c Source #
(<=<) :: (b -> Yoneda t c) -> (a -> Yoneda t b) -> a -> Yoneda t c 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 #