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.Primary.Functor.Identity | |
Comonad (Product s) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Product | |
Covariant t => Comonad (Construction t) Source # | |
Comonad (Equipment e) Source # | |
Defined in Pandora.Paradigm.Inventory.Equipment | |
Comonad (Store p) Source # | |
Defined in Pandora.Paradigm.Inventory.Store | |
Comonad (Tagged tag) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Tagged | |
(Extractable (t :< u), Extendable (t :< u)) => Comonad (t :< u) Source # | |
type Schematic Comonad (Imprint e) Source # | |
Defined in Pandora.Paradigm.Inventory.Imprint | |
type Schematic Comonad (Equipment e) Source # | |
type Schematic Comonad (Store p) Source # | |