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

Proarrow.Category.Instance.Constraint

Documentation

newtype CONSTRAINT Source Comments #

Constructors

CNSTRNT Constraint 

Instances

Instances details
Monoidal CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type Unit 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (a :: CONSTRAINT) ** (b :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (a :: CONSTRAINT) ** (b :: CONSTRAINT) = a && b

Methods

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

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

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

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

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

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

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

SymMonoidal CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

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

CategoryOf CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (~>) = (:-)
type Ob (a :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type Ob (a :: CONSTRAINT) = Is 'CNSTRNT a
HasBinaryProducts CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type ('CNSTRNT l :: CONSTRAINT) && ('CNSTRNT r :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type ('CNSTRNT l :: CONSTRAINT) && ('CNSTRNT r :: CONSTRAINT) = 'CNSTRNT (l, r)

Methods

fst' :: forall (a :: CONSTRAINT) (b :: CONSTRAINT). Obj a -> Obj b -> (a && b) ~> a Source Comments #

snd' :: forall (a :: CONSTRAINT) (b :: CONSTRAINT). Obj a -> Obj b -> (a && b) ~> b Source Comments #

(&&&) :: forall (a :: CONSTRAINT) (x :: CONSTRAINT) (y :: CONSTRAINT). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments #

(***) :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (x :: CONSTRAINT) (y :: CONSTRAINT). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments #

Closed CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type ('CNSTRNT a :: CONSTRAINT) ~~> ('CNSTRNT b :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type ('CNSTRNT a :: CONSTRAINT) ~~> ('CNSTRNT b :: CONSTRAINT) = 'CNSTRNT (a :=> b)

Methods

curry' :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (c :: CONSTRAINT). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments #

uncurry' :: forall (b :: CONSTRAINT) (c :: CONSTRAINT) (a :: CONSTRAINT). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments #

(^^^) :: forall (b :: CONSTRAINT) (y :: CONSTRAINT) (x :: CONSTRAINT) (a :: CONSTRAINT). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments #

HasTerminalObject CONSTRAINT Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type TerminalObject 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

terminate' :: forall (a :: CONSTRAINT). Obj a -> a ~> (TerminalObject :: CONSTRAINT) Source Comments #

Promonad (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

id :: forall (a :: CONSTRAINT). Ob a => a :- a Source Comments #

(.) :: forall (b :: CONSTRAINT) (c :: CONSTRAINT) (a :: CONSTRAINT). (b :- c) -> (a :- b) -> a :- c Source Comments #

Profunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

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

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

type Unit Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (~>) = (:-)
type TerminalObject Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type Ob (a :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type Ob (a :: CONSTRAINT) = Is 'CNSTRNT a
type (a :: CONSTRAINT) ** (b :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type (a :: CONSTRAINT) ** (b :: CONSTRAINT) = a && b
type UN 'CNSTRNT ('CNSTRNT a :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type UN 'CNSTRNT ('CNSTRNT a :: CONSTRAINT) = a
type ('CNSTRNT l :: CONSTRAINT) && ('CNSTRNT r :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type ('CNSTRNT l :: CONSTRAINT) && ('CNSTRNT r :: CONSTRAINT) = 'CNSTRNT (l, r)
type ('CNSTRNT a :: CONSTRAINT) ~~> ('CNSTRNT b :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type ('CNSTRNT a :: CONSTRAINT) ~~> ('CNSTRNT b :: CONSTRAINT) = 'CNSTRNT (a :=> b)

data (a :: CONSTRAINT) :- (b :: CONSTRAINT) where Source Comments #

Constructors

Entails 

Fields

Instances

Instances details
Promonad (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

id :: forall (a :: CONSTRAINT). Ob a => a :- a Source Comments #

(.) :: forall (b :: CONSTRAINT) (c :: CONSTRAINT) (a :: CONSTRAINT). (b :- c) -> (a :- b) -> a :- c Source Comments #

Profunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

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

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

class (b => c) => b :=> c Source Comments #

Instances

Instances details
(b => c) => b :=> c Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint