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

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

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

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

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

associator :: forall (a :: REV k) (b :: REV k) (c :: REV k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #

associatorInv :: forall (a :: REV k) (b :: REV k) (c :: REV k). (Ob a, Ob b, Ob 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) (a' :: REV k) (b :: REV k) (b' :: REV k). (a ~> a') -> (b ~> 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 ((~>) :: CAT k)
MonoidalProfunctor p => MonoidalProfunctor (Rev p :: REV k -> REV j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

par0 :: Rev p (Unit :: REV k) (Unit :: REV j) Source Comments #

par :: forall (x1 :: REV k) (x2 :: REV j) (y1 :: REV k) (y2 :: REV j). Rev p x1 x2 -> Rev p y1 y2 -> Rev p (x1 ** y1) (x2 ** y2) Source Comments #

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

Defined in Proarrow.Category.Monoidal.Rev

Methods

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

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

Promonad p => Promonad (Rev p :: REV j -> REV j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

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

(.) :: forall (b :: REV j) (c :: REV j) (a :: REV j). Rev p b c -> Rev p a b -> Rev p a c 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 ((~>) :: CAT k)
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 (p :: j +-> k) (a :: REV k) (b :: REV j) where Source Comments #

Constructors

Rev :: forall {j} {k} (p :: j +-> k) (a1 :: k) (b1 :: j). p a1 b1 -> Rev p ('R a1) ('R b1) 

Instances

Instances details
MonoidalProfunctor p => MonoidalProfunctor (Rev p :: REV k -> REV j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

par0 :: Rev p (Unit :: REV k) (Unit :: REV j) Source Comments #

par :: forall (x1 :: REV k) (x2 :: REV j) (y1 :: REV k) (y2 :: REV j). Rev p x1 x2 -> Rev p y1 y2 -> Rev p (x1 ** y1) (x2 ** y2) Source Comments #

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

Defined in Proarrow.Category.Monoidal.Rev

Methods

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

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

Promonad p => Promonad (Rev p :: REV j -> REV j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Rev

Methods

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

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