Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- data Coyoneda (p :: Type -> Type -> Type) a b
- type AdapterA p = Free (Coyoneda p)
- liftAdapter :: p a b -> AdapterA p a b
- foldAdapter :: Category q => Profunctor q => (p :-> q) -> AdapterA p a b -> q a b
- runAdapterT :: Profunctor q => (p :-> q) -> Coyoneda p a b -> q a b
- runAdapterM :: Monad m => (forall x y. p x y -> x -> m y) -> AdapterA p a b -> a -> m b
- runAdapterW :: Comonad w => (forall x y. p x y -> w x -> y) -> AdapterA p a b -> w a -> b
Documentation
data Coyoneda (p :: Type -> Type -> Type) a b #
Instances
liftAdapter :: p a b -> AdapterA p a b Source #
TODO: Document
foldAdapter :: Category q => Profunctor q => (p :-> q) -> AdapterA p a b -> q a b Source #
TODO: Document
runAdapterT :: Profunctor q => (p :-> q) -> Coyoneda p a b -> q a b Source #
TODO: Document
runAdapterM :: Monad m => (forall x y. p x y -> x -> m y) -> AdapterA p a b -> a -> m b Source #
TODO: Document
runAdapterW :: Comonad w => (forall x y. p x y -> w x -> y) -> AdapterA p a b -> w a -> b Source #
TODO: Document