| Copyright | (C) 2013-2016 Edward Kmett | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Edward Kmett <ekmett@gmail.com> | 
| Stability | provisional | 
| Portability | GADTs, TFs, MPTCs | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
Data.Functor.Contravariant.Coyoneda
Description
The co-Yoneda lemma for presheafs states that f is naturally isomorphic to .Coyoneda f
Synopsis
- data Coyoneda (f :: Type -> Type) a where
 - liftCoyoneda :: f a -> Coyoneda f a
 - lowerCoyoneda :: Contravariant f => Coyoneda f a -> f a
 - hoistCoyoneda :: (forall a. f a -> g a) -> Coyoneda f b -> Coyoneda g b
 
Documentation
data Coyoneda (f :: Type -> Type) a where Source #
A Contravariant functor (aka presheaf) suitable for Yoneda reduction.
Instances
| Representable f => Representable (Coyoneda f) Source # | |||||
Defined in Data.Functor.Contravariant.Coyoneda Associated Types 
  | |||||
| Contravariant (Coyoneda f) Source # | |||||
| Adjunction f g => Adjunction (Coyoneda f) (Coyoneda g) Source # | |||||
| type Rep (Coyoneda f) Source # | |||||
Defined in Data.Functor.Contravariant.Coyoneda  | |||||
liftCoyoneda :: f a -> Coyoneda f a Source #
Coyoneda "expansion" of a presheaf
liftCoyoneda.lowerCoyoneda≡idlowerCoyoneda.liftCoyoneda≡id
lowerCoyoneda :: Contravariant f => Coyoneda f a -> f a Source #
Coyoneda reduction on a presheaf
hoistCoyoneda :: (forall a. f a -> g a) -> Coyoneda f b -> Coyoneda g b Source #
Lift a natural transformation from f to g to a natural transformation
 from Coyoneda f to Coyoneda g.