monoidal-functors-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Data.Functor.Monoidal

Documentation

class (Associative t1 cat, Associative t0 cat) => Semigroupal cat t1 t0 f where Source #

Methods

combine :: (f x `t0` f x') `cat` f (x `t1` x') Source #

Instances

Instances details
Alternative f => Semigroupal ((->) :: Type -> Type -> Type) Either (,) f Source # 
Instance details

Defined in Data.Functor.Monoidal

Methods

combine :: (f x, f x') -> f (Either x x') Source #

Applicative f => Semigroupal ((->) :: Type -> Type -> Type) (,) (,) f Source # 
Instance details

Defined in Data.Functor.Monoidal

Methods

combine :: (f x, f x') -> f (x, x') Source #

class Unital cat i1 i0 f where Source #

Methods

introduce :: i0 `cat` f i1 Source #

Instances

Instances details
Applicative f => Unital ((->) :: Type -> Type -> Type) () () f Source # 
Instance details

Defined in Data.Functor.Monoidal

Methods

introduce :: () -> f () Source #

Alternative f => Unital ((->) :: Type -> Type -> Type) Void () f Source # 
Instance details

Defined in Data.Functor.Monoidal

Methods

introduce :: () -> f Void Source #

class (Tensor t1 i1 cat, Tensor t0 i0 cat, Semigroupal cat t1 t0 f, Unital cat i1 i0 f) => Monoidal cat t1 i1 t0 i0 f Source #

Instances

Instances details
Alternative f => Monoidal ((->) :: Type -> Type -> Type) Either Void (,) () f Source # 
Instance details

Defined in Data.Functor.Monoidal

Applicative f => Monoidal ((->) :: Type -> Type -> Type) (,) () (,) () f Source # 
Instance details

Defined in Data.Functor.Monoidal