| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Monoidal.Strictified
Contents
Documentation
(||) :: forall k (as :: [k]) (bs :: [k]) (cs :: [k]) (ds :: [k]). Monoidal k => (as ~> bs) -> (cs ~> ds) -> (as ++ cs) ~> (bs ++ ds) infixl 8 Source Github #
(==) :: forall k (a :: k) (b :: k) (c :: k). CategoryOf k => (a ~> b) -> (b ~> c) -> a ~> c infixl 7 Source Github #
class ((as ++ bs) ++ cs) ~ (as ++ (bs ++ cs)) => Assoc (as :: [k]) (bs :: [k]) (cs :: [k]) Source Github #
class (CategoryOf k, as ~ (as ++ ('[] :: [k])), forall (bs :: [k]) (cs :: [k]). Assoc as bs cs) => IsList (as :: [k]) where Source Github #
Methods
sList :: SList as Source Github #
withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList (as ++ bs) => r) -> r Source Github #
swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => (as ++ '[b]) ~> (b ': as) Source Github #
swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => (b ': as) ~> (as ++ '[b]) Source Github #
swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => (as ++ bs) ~> (bs ++ as) Source Github #
Instances
| CategoryOf k => IsList ('[] :: [k]) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList ('[] :: [k]) Source Github # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList (('[] :: [k]) ++ bs) => r) -> r Source Github # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => (('[] :: [k]) ++ '[b]) ~> '[b] Source Github # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => '[b] ~> (('[] :: [k]) ++ '[b]) Source Github # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => (('[] :: [k]) ++ bs) ~> (bs ++ ('[] :: [k])) Source Github # | |
| (Ob a, CategoryOf k) => IsList ('[a] :: [k]) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList '[a] Source Github # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList ('[a] ++ bs) => r) -> r Source Github # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => ('[a] ++ '[b]) ~> '[b, a] Source Github # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => '[b, a] ~> ('[a] ++ '[b]) Source Github # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => ('[a] ++ bs) ~> (bs ++ '[a]) Source Github # | |
| (Ob a1, IsList (a2 ': as), IsList as) => IsList (a1 ': (a2 ': as) :: [k]) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList (a1 ': (a2 ': as)) Source Github # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList ((a1 ': (a2 ': as)) ++ bs) => r) -> r Source Github # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => ((a1 ': (a2 ': as)) ++ '[b]) ~> (b ': (a1 ': (a2 ': as))) Source Github # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => (b ': (a1 ': (a2 ': as))) ~> ((a1 ': (a2 ': as)) ++ '[b]) Source Github # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => ((a1 ': (a2 ': as)) ++ bs) ~> (bs ++ (a1 ': (a2 ': as))) Source Github # | |
concatFold :: forall {k} (as :: [k]) (bs :: [k]). (Ob as, Ob bs, Monoidal k) => (Fold as ** Fold bs) ~> Fold (as ++ bs) Source Github #
splitFold :: forall {k} (as :: [k]) (bs :: [k]). (Ob as, Ob bs, Monoidal k) => Fold (as ++ bs) ~> (Fold as ** Fold bs) Source Github #
data Strictified (as :: [k]) (bs :: [k]) where Source Github #
Constructors
| Str | |
Instances
| Monoidal k => Promonad (Strictified :: [k] -> [k] -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods id :: forall (a :: [k]). Ob a => Strictified a a Source Github # (.) :: forall (b :: [k]) (c :: [k]) (a :: [k]). Strictified b c -> Strictified a b -> Strictified a c Source Github # | |
| Monoidal k => MonoidalProfunctor (Strictified :: [k] -> [k] -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods par0 :: Strictified (Unit :: [k]) (Unit :: [k]) Source Github # par :: forall (x1 :: [k]) (x2 :: [k]) (y1 :: [k]) (y2 :: [k]). Strictified x1 x2 -> Strictified y1 y2 -> Strictified (x1 ** y1) (x2 ** y2) Source Github # | |
| Monoidal k => Profunctor (Strictified :: [k] -> [k] -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods dimap :: forall (c :: [k]) (a :: [k]) (b :: [k]) (d :: [k]). (c ~> a) -> (b ~> d) -> Strictified a b -> Strictified c d Source Github # (\\) :: forall (a :: [k]) (b :: [k]) r. ((Ob a, Ob b) => r) -> Strictified a b -> r Source Github # | |
Orphan instances
| Monoidal k => Monoidal [k] Source Github # | List concattenation as monoidal tensor. | ||||
Associated Types
Methods withOb2 :: forall (a :: [k]) (b :: [k]) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: [k]). Ob a => ((Unit :: [k]) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: [k]). Ob a => a ~> ((Unit :: [k]) ** a) Source Github # rightUnitor :: forall (a :: [k]). Ob a => (a ** (Unit :: [k])) ~> a Source Github # rightUnitorInv :: forall (a :: [k]). Ob a => a ~> (a ** (Unit :: [k])) Source Github # associator :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||
| SymMonoidal k => SymMonoidal [k] Source Github # | |||||
| (SymMonoidal k, CopyDiscard k) => CopyDiscard [k] Source Github # | |||||
| Monoidal k => CategoryOf [k] Source Github # | The strictified monoidal category, making the unitors and associators identities. | ||||
Associated Types
| |||||