category-extras-0.53.3: Various modules and constructs inspired by category theory

Portabilitynon-portable (functional-dependencies)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Functor

Description

A more categorical definition of Functor than endofunctors in the category Hask

Documentation

class (Category r, Category t) => PFunctor p r t | p r -> t, p t -> r whereSource

Methods

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

first' :: Bifunctor p r s t => r a b -> t (p a c) (p b c)Source

class (Category s, Category t) => QFunctor q s t | q s -> t, q t -> s whereSource

Methods

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

second' :: Bifunctor p r s t => s a b -> t (p c a) (p 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 whereSource

Methods

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

dimap :: Bifunctor f (Dual k) k k => k b a -> k c d -> k (f a c) (f b d)Source