| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Pandora.Pattern.Functor.Comonad
Synopsis
- class (Extractable t source, Extendable t (->)) => Comonad t source
Documentation
class (Extractable t source, Extendable t (->)) => Comonad t source 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: * Left identity: extend extract ≡ identity * Right identity: extract . extend f ≡ f * Associativity: extend f . extend g ≡ extend (f . extend g)
Instances
| Comonad Identity ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Identity | |
| Comonad ((:*:) s) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Algebraic.Product | |
| Covariant t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Comonad (Construction t) ((->) :: Type -> Type -> Type) Source # | |
| Comonad (Store s) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Inventory.Store | |
| Comonad (Equipment e) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Inventory.Equipment | |
| Comonad (Tagged tag) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Tagged | |
| (Extractable (t :< u) ((->) :: Type -> Type -> Type), Extendable (t :< u) ((->) :: Type -> Type -> Type)) => Comonad (t :< u) ((->) :: Type -> Type -> Type) Source # | |
| type Schematic Comonad (Store s) Source # | |
| type Schematic Comonad (Imprint e) Source # | |
Defined in Pandora.Paradigm.Inventory.Imprint | |
| type Schematic Comonad (Equipment e) Source # | |