Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 (Product s) ((->) :: Type -> Type -> Type) Source # | |
Defined in Pandora.Paradigm.Primary.Functor.Product | |
(Covariant t, 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)) => 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 # | |