category-0.2.0.1: Categorical types and classes

Safe HaskellNone
LanguageHaskell2010

Data.Morphism.Iso

Documentation

data Iso s a b Source #

Constructors

Iso (s a b) (s b a) 

Instances

Functor α β s t f => Functor α β (Iso α s) t f Source # 

Methods

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

Functor α β s t f => Functor α β (Iso α s) (Dual β β t) f Source # 

Methods

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

Category k s => Category k (Iso k s) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

Category k s => Groupoid k (Iso k s) Source # 

Methods

invert :: k a b -> k b a Source #

(Semigroup (s a b), Semigroup (s b a)) => Semigroup (Iso k s a b) Source # 

Methods

(<>) :: Iso k s a b -> Iso k s a b -> Iso k s a b #

sconcat :: NonEmpty (Iso k s a b) -> Iso k s a b #

stimes :: Integral b => b -> Iso k s a b -> Iso k s a b #

(Semigroup (s a b), Semigroup (s b a), Monoid (s a b), Monoid (s b a)) => Monoid (Iso k s a b) Source # 

Methods

mempty :: Iso k s a b #

mappend :: Iso k s a b -> Iso k s a b -> Iso k s a b #

mconcat :: [Iso k s a b] -> Iso k s a b #

(Semigroup (s a b), Semigroup (s b a), Group (s a b), Group (s b a)) => Group (Iso k s a b) Source # 

Methods

invert :: Iso k s a b -> Iso k s a b #