morphisms-functors-0.1.2: Functors, theirs compositions and transformations

Safe HaskellSafe
LanguageHaskell2010

Control.Functor.Composition.Comonad

Synopsis

Documentation

type Comonad t = (Extractable t, Extendable t) Source #

Let f :: (Pointable t, Bindable t) => t a -> b
Let g :: (Pointable t, Bindable t) => t a -> b
When using this constraint, you should ensure it satisfies the three laws:
* Left identity: extend extract ≡ identity
* Right identity: extract . extend f ≡ f
* Associativity: extend f . extend g ≡ extend (f . extend g)