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

Proarrow.Profunctor.HaskValue

Documentation

data HaskValue c (a :: k) (b :: j) where Source Comments #

Constructors

HaskValue :: forall {k} {j} (a :: k) (b :: j) c. (Ob a, Ob b) => c -> HaskValue c a b 

Instances

Instances details
(Monoid c, Monoidal j, Monoidal k) => MonoidalProfunctor (HaskValue c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.HaskValue

Methods

par0 :: HaskValue c (Unit :: k) (Unit :: j) Source Comments #

par :: forall (x1 :: k) (x2 :: j) (y1 :: k) (y2 :: j). HaskValue c x1 x2 -> HaskValue c y1 y2 -> HaskValue c (x1 ** y1) (x2 ** y2) Source Comments #

(CategoryOf j, CategoryOf k) => Profunctor (HaskValue c :: k -> j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.HaskValue

Methods

dimap :: forall (c0 :: k) (a :: k) (b :: j) (d :: j). (c0 ~> a) -> (b ~> d) -> HaskValue c a b -> HaskValue c c0 d Source Comments #

(\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> HaskValue c a b -> r Source Comments #

Copowered k => HasColimits (HaskValue n :: () -> () -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

colimit :: forall (d :: () +-> k). Representable d => (d :.: (HaskValue n :: () -> () -> Type)) :~> Colimit (HaskValue n :: () -> () -> Type) d Source Comments #

colimitUniv :: forall (d :: () +-> k) (p :: () +-> k). (Representable d, Representable p) => ((d :.: (HaskValue n :: () -> () -> Type)) :~> p) -> Colimit (HaskValue n :: () -> () -> Type) d :~> p Source Comments #

Powered k => HasLimits (HaskValue n :: () -> () -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

limit :: forall (d :: () +-> k). Representable d => (Limit (HaskValue n :: () -> () -> Type) d :.: (HaskValue n :: () -> () -> Type)) :~> d Source Comments #

limitUniv :: forall (d :: () +-> k) (p :: () +-> k). (Representable d, Representable p) => ((p :.: (HaskValue n :: () -> () -> Type)) :~> d) -> p :~> Limit (HaskValue n :: () -> () -> Type) d Source Comments #

SelfAction k => Cotraversable (HaskValue c :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.HaskValue

Methods

cotraverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => (p :.: (HaskValue c :: k -> k -> Type)) :~> ((HaskValue c :: k -> k -> Type) :.: p) Source Comments #

SelfAction k => Traversable (HaskValue c :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.HaskValue

Methods

traverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => ((HaskValue c :: k -> k -> Type) :.: p) :~> (p :.: (HaskValue c :: k -> k -> Type)) Source Comments #

(Monoid c, CategoryOf k) => Promonad (HaskValue c :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.HaskValue

Methods

id :: forall (a :: k). Ob a => HaskValue c a a Source Comments #

(.) :: forall (b :: k) (c0 :: k) (a :: k). HaskValue c b c0 -> HaskValue c a b -> HaskValue c a c0 Source Comments #

type Colimit (HaskValue n :: () -> () -> Type) (d :: () +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

type Colimit (HaskValue n :: () -> () -> Type) (d :: () +-> k) = CopowerLimit n d
type Limit (HaskValue n :: () -> () -> Type) (d :: () +-> k) Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

type Limit (HaskValue n :: () -> () -> Type) (d :: () +-> k) = PowerLimit n d