Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- class (Extractable t, Extendable t) => Comonad t
Documentation
class (Extractable t, Extendable t) => Comonad t Source #
Let f :: (Pointable t, Bindable t) => t a -> b Let g :: (Pointable t, Bindable t) => t a -> b
When providing a new instance, 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)
Instances
Comonad Identity Source # | |
Defined in Pandora.Paradigm.Basis.Identity | |
Covariant t => Comonad (Twister t) Source # | |
Defined in Pandora.Paradigm.Basis.Twister | |
Comonad (Product a) Source # | |
Defined in Pandora.Paradigm.Basis.Product | |
Comonad (Storage p) Source # | |
Defined in Pandora.Paradigm.Inventory.Storage | |
Comonad (Tagged tag) Source # | |
Defined in Pandora.Paradigm.Basis.Tagged |