Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- data Pastro (p :: Type -> Type -> Type) a b where
- type StrongA p = Free (Pastro p)
- liftStrong :: p a b -> StrongA p a b
- foldStrong :: Category q => Strong q => (p :-> q) -> StrongA p a b -> q a b
- runStrongT :: Strong q => (p :-> q) -> Pastro p a b -> q a b
- runStrongM :: Monad m => (forall x y. p x y -> x -> m y) -> StrongA p a b -> a -> m b
Documentation
data Pastro (p :: Type -> Type -> Type) a b where #
Pastro -| Tambara
Pastro p ~ exists z. Costar ((,)z)Procompose
pProcompose
Star ((,)z)
Pastro
freely makes any Profunctor
Strong
.
Pastro :: forall (p :: Type -> Type -> Type) a b y z x. ((y, z) -> b) -> p x y -> (a -> (x, z)) -> Pastro p a b |
Instances
ProfunctorFunctor Pastro | |
Defined in Data.Profunctor.Strong | |
ProfunctorMonad Pastro | |
Defined in Data.Profunctor.Strong | |
ProfunctorAdjunction Pastro Tambara | |
Defined in Data.Profunctor.Strong | |
Strong (Pastro p) | |
Profunctor (Pastro p) | |
Defined in Data.Profunctor.Strong |
liftStrong :: p a b -> StrongA p a b Source #
TODO: Document
runStrongM :: Monad m => (forall x y. p x y -> x -> m y) -> StrongA p a b -> a -> m b Source #
TODO: Document