Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Promonoidal
Documentation
class Profunctor p => Protensor (p :: PROTENSOR k) where Source Comments #
Methods
compose :: forall (a :: k) (bss :: LIST (LIST k)). (p :.: List p) a bss -> p a ((Tensor :: LIST k -> LIST (LIST k) -> Type) % bss) Source Comments #
decompose :: forall (bss :: LIST (LIST k)) (a :: k). Ob bss => p a ((Tensor :: LIST k -> LIST (LIST k) -> Type) % bss) -> (p :.: List p) a bss Source Comments #
Instances
Monoidal k => Protensor (Tensor :: k -> LIST k -> Type) Source Comments # | |
Defined in Proarrow.Category.Promonoidal Methods compose :: forall (a :: k) (bss :: LIST (LIST k)). ((Tensor :: k -> LIST k -> Type) :.: List (Tensor :: k -> LIST k -> Type)) a bss -> Tensor a ((Tensor :: LIST k -> LIST (LIST k) -> Type) % bss) Source Comments # decompose :: forall (bss :: LIST (LIST k)) (a :: k). Ob bss => Tensor a ((Tensor :: LIST k -> LIST (LIST k) -> Type) % bss) -> ((Tensor :: k -> LIST k -> Type) :.: List (Tensor :: k -> LIST k -> Type)) a bss Source Comments # |
class (Protensor t, Profunctor p) => PromonoidalProfunctor (t :: PROTENSOR j) (p :: j +-> j) where Source Comments #
data Tensor (a :: k) (bs :: LIST k) where Source Comments #
Constructors
Tensor | |
Instances
data PList (ps :: LIST (j +-> k)) (as :: LIST k) (bs :: LIST j) where Source Comments #
Constructors
PNil :: forall {j} {k}. PList ('L ('[] :: [j +-> k])) ('L ('[] :: [k])) ('L ('[] :: [j])) | |
PCons :: forall {k} {j} (as1 :: [k]) (bs1 :: [j]) (p :: j +-> k) (ps1 :: [j +-> k]) (a :: k) (b :: j). (Ob as1, Ob bs1, Ob p, Ob ps1) => p a b -> PList ('L ps1) ('L as1) ('L bs1) -> PList ('L (p ': ps1)) ('L (a ': as1)) ('L (b ': bs1)) |
Instances
(CategoryOf j, CategoryOf k, Ob ps) => Profunctor (PList ps :: LIST k -> LIST j -> Type) Source Comments # | |
(CategoryOf j, CategoryOf k) => Functor (PList :: LIST (j +-> k) -> LIST k -> LIST j -> Type) Source Comments # | |
data Day (tk :: PROTENSOR k) (tj :: PROTENSOR j) (ps :: LIST (j +-> k)) (a :: k) (b :: j) where Source Comments #
Constructors
Day :: forall {k} {j} (a :: k) (b :: j) (tj :: PROTENSOR j) (bs :: LIST j) (tk :: PROTENSOR k) (as :: LIST k) (ps :: LIST (j +-> k)). (Ob a, Ob b) => (tj b bs -> (tk a as, PList ps as bs)) -> Day tk tj ps a b |
Instances
(Profunctor tk, Profunctor tj) => Profunctor (Day tk tj ps :: k -> j -> Type) Source Comments # | |
(Profunctor tk, Profunctor tj) => Functor (Day tk tj :: LIST (j +-> k) -> k -> j -> Type) Source Comments # | |