categories-1.0.7: Categories

Copyright2008-2010 Edward Kmett
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable (functional-dependencies)
Safe HaskellTrustworthy
LanguageHaskell2010

Control.Categorical.Bifunctor

Description

A more categorical definition of Bifunctor

Synopsis

Documentation

class (Category r, Category t) => PFunctor p r t | p r -> t, p t -> r where Source #

Minimal complete definition

first

Methods

first :: r a b -> t (p a c) (p b c) Source #

Instances
PFunctor Either ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

first :: (a -> b) -> Either a c -> Either b c Source #

PFunctor (,) ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

first :: (a -> b) -> (a, c) -> (b, c) Source #

class (Category s, Category t) => QFunctor q s t | q s -> t, q t -> s where Source #

Minimal complete definition

second

Methods

second :: s a b -> t (q c a) (q c b) Source #

Instances
QFunctor Either ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

second :: (a -> b) -> Either c a -> Either c b Source #

QFunctor (,) ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

second :: (a -> b) -> (c, a) -> (c, b) Source #

QFunctor ((->) :: * -> * -> *) ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

second :: (a -> b) -> (c -> a) -> c -> b Source #

class (PFunctor p r t, QFunctor p s t) => Bifunctor p r s t | p r -> s t, p s -> r t, p t -> r s where Source #

Minimal definition: bimap

Minimal complete definition

bimap

Methods

bimap :: r a b -> s c d -> t (p a c) (p b d) Source #

Instances
Bifunctor Either ((->) :: * -> * -> *) ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

bimap :: (a -> b) -> (c -> d) -> Either a c -> Either b d Source #

Bifunctor (,) ((->) :: * -> * -> *) ((->) :: * -> * -> *) ((->) :: * -> * -> *) Source # 
Instance details

Defined in Control.Categorical.Bifunctor

Methods

bimap :: (a -> b) -> (c -> d) -> (a, c) -> (b, d) Source #

dimap :: Bifunctor f (Dual s) t u => s b a -> t c d -> u (f a c) (f b d) Source #

difirst :: PFunctor f (Dual s) t => s b a -> t (f a c) (f b c) Source #