category-0.2.4.0: Categorical types and classes

Safe HaskellNone
LanguageHaskell2010

Control.Category.Dual

Documentation

newtype Dual k a b Source #

Constructors

Dual 

Fields

Instances
Functor s t f => Functor (Iso s :: α -> α -> Type) (Dual t :: β -> β -> Type) (f :: α -> β) Source # 
Instance details

Defined in Data.Morphism.Iso

Methods

map :: Iso s a b -> Dual t (f a) (f b) Source #

Functor s t f => Functor (Dual s :: α -> α -> Type) (Dual t :: β -> β -> Type) (f :: α -> β) Source # 
Instance details

Defined in Control.Categorical.Functor

Methods

map :: Dual s a b -> Dual t (f a) (f b) Source #

(Category s, Category t, Functor s (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (s :: α -> α -> Type) (Dual (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # 
Instance details

Defined in Control.Categorical.Functor

Methods

map :: s a b -> Dual (NT t) (f a) (f b) Source #

(Category t, Functor s (NT t :: (k1 -> k2) -> (k1 -> k2) -> Type) f) => Functor (Dual s :: α -> α -> Type) (NT (Dual t) :: (k1 -> k2) -> (k1 -> k2) -> Type) (f :: α -> k1 -> k2) Source # 
Instance details

Defined in Control.Categorical.Functor

Methods

map :: Dual s a b -> NT (Dual t) (f a) (f b) Source #

Category s => Functor (Dual s :: k -> k -> Type) (NT ((->) :: Type -> Type -> Type) :: (k -> Type) -> (k -> Type) -> Type) (s :: k -> k -> Type) Source # 
Instance details

Defined in Control.Categorical.Functor

Methods

map :: Dual s a b -> NT (->) (s a) (s b) Source #

Category s => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Kleisli s m :: k2 -> k1 -> Type) Source # 
Instance details

Defined in Control.Categorical.Monad

Methods

map :: Dual s a b -> NT (->) (Kleisli s m a) (Kleisli s m b) Source #

Functor s t ɯ => Functor (Dual s :: k2 -> k2 -> Type) (NT ((->) :: Type -> Type -> Type) :: (k1 -> Type) -> (k1 -> Type) -> Type) (Cokleisli t ɯ :: k2 -> k1 -> Type) Source # 
Instance details

Defined in Control.Categorical.Monad

Methods

map :: Dual s a b -> NT (->) (Cokleisli t ɯ a) (Cokleisli t ɯ b) Source #

Category k2 => Category (Dual k2 :: k1 -> k1 -> Type) Source # 
Instance details

Defined in Control.Category.Dual

Methods

id :: Dual k2 a a #

(.) :: Dual k2 b c -> Dual k2 a b -> Dual k2 a c #

Groupoid k2 => Groupoid (Dual k2 :: k1 -> k1 -> Type) Source # 
Instance details

Defined in Control.Category.Dual

Methods

invert :: Dual k2 a b -> Dual k2 b a Source #

Semigroup (k3 b a) => Semigroup (Dual k3 a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

(<>) :: Dual k3 a b -> Dual k3 a b -> Dual k3 a b #

sconcat :: NonEmpty (Dual k3 a b) -> Dual k3 a b #

stimes :: Integral b0 => b0 -> Dual k3 a b -> Dual k3 a b #

Monoid (k3 b a) => Monoid (Dual k3 a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

mempty :: Dual k3 a b #

mappend :: Dual k3 a b -> Dual k3 a b -> Dual k3 a b #

mconcat :: [Dual k3 a b] -> Dual k3 a b #

Group (k3 b a) => Group (Dual k3 a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

invert :: Dual k3 a b -> Dual k3 a b #