proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Category.Monoidal.Rev

Documentation

data REV k Source Comments #

Constructors

R k 

Instances

Instances details
Monoidal k => Monoidal (REV k) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Associated Types

type Unit 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type Unit = 'R (Unit :: k)

Methods

par :: forall (a :: REV k) (b :: REV k) (c :: REV k) (d :: REV k). (a ~> b) -> (c ~> d) -> (a ** c) ~> (b ** d) Source Comments #

leftUnitor :: forall (a :: REV k). Obj a -> ((Unit :: REV k) ** a) ~> a Source Comments #

leftUnitorInv :: forall (a :: REV k). Obj a -> a ~> ((Unit :: REV k) ** a) Source Comments #

rightUnitor :: forall (a :: REV k). Obj a -> (a ** (Unit :: REV k)) ~> a Source Comments #

rightUnitorInv :: forall (a :: REV k). Obj a -> a ~> (a ** (Unit :: REV k)) Source Comments #

associator :: forall (a :: REV k) (b :: REV k) (c :: REV k). Obj a -> Obj b -> Obj c -> ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #

associatorInv :: forall (a :: REV k) (b :: REV k) (c :: REV k). Obj a -> Obj b -> Obj c -> (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments #

SymMonoidal k => SymMonoidal (REV k) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

swap' :: forall (a :: REV k) (b :: REV k). Obj a -> Obj b -> (a ** b) ~> (b ** a) Source Comments #

CategoryOf k => CategoryOf (REV k) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type (~>) = Rev :: REV k -> REV k -> Type
CategoryOf k => Promonad (Rev :: REV k -> REV k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

id :: forall (a :: REV k). Ob a => Rev a a Source Comments #

(.) :: forall (b :: REV k) (c :: REV k) (a :: REV k). Rev b c -> Rev a b -> Rev a c Source Comments #

CategoryOf k => Profunctor (Rev :: REV k -> REV k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

dimap :: forall (c :: REV k) (a :: REV k) (b :: REV k) (d :: REV k). (c ~> a) -> (b ~> d) -> Rev a b -> Rev c d Source Comments #

(\\) :: forall (a :: REV k) (b :: REV k) r. ((Ob a, Ob b) => r) -> Rev a b -> r Source Comments #

type UN ('R :: j -> REV j) ('R a :: REV j) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type UN ('R :: j -> REV j) ('R a :: REV j) = a
type Unit Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type Unit = 'R (Unit :: k)
type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type (~>) = Rev :: REV k -> REV k -> Type
type Ob (a :: REV k) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type Ob (a :: REV k) = (Is ('R :: k -> REV k) a, Ob (UN ('R :: k -> REV k) a))
type ('R a :: REV k) ** ('R b :: REV k) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

type ('R a :: REV k) ** ('R b :: REV k) = 'R (b ** a)

data Rev (a :: k) (b :: k) where Source Comments #

Constructors

Rev :: forall {k1} (a1 :: k1) (b1 :: k1). (a1 ~> b1) -> Rev ('R a1) ('R b1) 

Instances

Instances details
CategoryOf k => Promonad (Rev :: REV k -> REV k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

id :: forall (a :: REV k). Ob a => Rev a a Source Comments #

(.) :: forall (b :: REV k) (c :: REV k) (a :: REV k). Rev b c -> Rev a b -> Rev a c Source Comments #

CategoryOf k => Profunctor (Rev :: REV k -> REV k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

dimap :: forall (c :: REV k) (a :: REV k) (b :: REV k) (d :: REV k). (c ~> a) -> (b ~> d) -> Rev a b -> Rev c d Source Comments #

(\\) :: forall (a :: REV k) (b :: REV k) r. ((Ob a, Ob b) => r) -> Rev a b -> r Source Comments #