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

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

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

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

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

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

associatorInv :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (c :: CONSTRAINT). (Ob a, Ob b, Ob 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) (a' :: CONSTRAINT) (b :: CONSTRAINT) (b' :: CONSTRAINT). (a ~> a') -> (b ~> 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). (Ob a, Ob b) => (a && b) ~> a Source Comments #

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

snd :: forall (a :: CONSTRAINT) (b :: CONSTRAINT). (Ob a, Ob b) => (a && b) ~> b Source Comments #

snd' :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (b' :: CONSTRAINT). Obj a -> (b ~> 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). Ob a => a ~> (TerminalObject :: CONSTRAINT) Source Comments #

terminate' :: forall (a :: CONSTRAINT) (a' :: CONSTRAINT). (a ~> 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 #

MonoidalProfunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

par0 :: (Unit :: CONSTRAINT) :- (Unit :: CONSTRAINT) Source Comments #

par :: forall (x1 :: CONSTRAINT) (x2 :: CONSTRAINT) (y1 :: CONSTRAINT) (y2 :: CONSTRAINT). (x1 :- x2) -> (y1 :- y2) -> (x1 ** y1) :- (x2 ** y2) 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 #

ThinProfunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) = a :=> b

Methods

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

withArr :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) r. (a :- b) -> (HasArrow (:-) a b => r) -> r Source Comments #

Comonoid ('CNSTRNT a :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Monoid ('CNSTRNT ()) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

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 HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) = a :=> b
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 #

MonoidalProfunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Methods

par0 :: (Unit :: CONSTRAINT) :- (Unit :: CONSTRAINT) Source Comments #

par :: forall (x1 :: CONSTRAINT) (x2 :: CONSTRAINT) (y1 :: CONSTRAINT) (y2 :: CONSTRAINT). (x1 :- x2) -> (y1 :- y2) -> (x1 ** y1) :- (x2 ** y2) 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 #

ThinProfunctor (:-) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

Associated Types

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) = a :=> b

Methods

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

withArr :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) r. (a :- b) -> (HasArrow (:-) a b => r) -> r Source Comments #

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Constraint

type HasArrow (:-) ('CNSTRNT a :: CONSTRAINT) ('CNSTRNT b :: CONSTRAINT) = a :=> b

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

Instances

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

Defined in Proarrow.Category.Instance.Constraint