category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
Control.Comonad.Density
Portabilitynon-portable (rank-2 polymorphism)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
The density comonad for a functor. aka the comonad cogenerated by a functor The ''density'' term dates back to Dubuc''s 1974 thesis. The term ''monad genererated by a functor'' dates back to 1972 in Street''s ''Formal Theory of Monads''.
Synopsis
data Density k a = forall b . Density (k b -> a) (k b)
densityToLan :: Density k a -> Lan k k a
lanToDensity :: Lan k k a -> Density k a
toDensity :: Functor s => (forall a. k a -> s (k a)) -> Density k :~> s
fromDensity :: (Density k :~> s) -> k a -> s (k a)
liftDensity :: Comonad w => w a -> Density w a
lowerDensity :: Comonad w => Density w a -> w a
densityToAdjunction :: Adjunction f g => Density f a -> f (g a)
adjunctionToDensity :: Adjunction f g => f (g a) -> Density f a
densityToComposedAdjunction :: (Composition o, Adjunction f g) => Density f :~> (f `o` g)
composedAdjunctionToDensity :: (Composition o, Adjunction f g) => (f `o` g) :~> Density f
improveCofree :: Functor f => (forall w. ComonadCofree f w => w a) -> Cofree f a
Documentation
data Density k a
Constructors
forall b . Density (k b -> a) (k b)
show/hide Instances
densityToLan :: Density k a -> Lan k k a
lanToDensity :: Lan k k a -> Density k a
toDensity :: Functor s => (forall a. k a -> s (k a)) -> Density k :~> s
Nat(k, s.k) is isomorphic to Nat (Density k, s) (forwards)
fromDensity :: (Density k :~> s) -> k a -> s (k a)
Nat(k, s.k) is isomorphic to Nat (Density k, s) (backwards)
liftDensity :: Comonad w => w a -> Density w a
The natural isomorphism between a comonad w and the comonad generated by w (forwards).
lowerDensity :: Comonad w => Density w a -> w a
The natural isomorphism between a comonad w and the comonad generated by w (backwards).
densityToAdjunction :: Adjunction f g => Density f a -> f (g a)
adjunctionToDensity :: Adjunction f g => f (g a) -> Density f a
densityToComposedAdjunction :: (Composition o, Adjunction f g) => Density f :~> (f `o` g)
composedAdjunctionToDensity :: (Composition o, Adjunction f g) => (f `o` g) :~> Density f
improveCofree :: Functor f => (forall w. ComonadCofree f w => w a) -> Cofree f a
Produced by Haddock version 2.1.0