Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 Comments #
(==) :: forall k (a :: k) (b :: k) (c :: k). CategoryOf k => (a ~> b) -> (b ~> c) -> a ~> c infixl 7 Source Comments #
class ((as ++ bs) ++ cs) ~ (as ++ (bs ++ cs)) => Assoc (as :: [k]) (bs :: [k]) (cs :: [k]) Source Comments #
class (CategoryOf k, as ~ (as ++ ('[] :: [k])), forall (bs :: [k]) (cs :: [k]). Assoc as bs cs) => IsList (as :: [k]) where Source Comments #
Methods
sList :: SList as Source Comments #
withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList (as ++ bs) => r) -> r Source Comments #
swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => (as ++ '[b]) ~> (b ': as) Source Comments #
swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => (b ': as) ~> (as ++ '[b]) Source Comments #
swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => (as ++ bs) ~> (bs ++ as) Source Comments #
Instances
CategoryOf k => IsList ('[] :: [k]) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList ('[] :: [k]) Source Comments # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList (('[] :: [k]) ++ bs) => r) -> r Source Comments # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => (('[] :: [k]) ++ '[b]) ~> '[b] Source Comments # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => '[b] ~> (('[] :: [k]) ++ '[b]) Source Comments # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => (('[] :: [k]) ++ bs) ~> (bs ++ ('[] :: [k])) Source Comments # | |
(Ob a, CategoryOf k) => IsList ('[a] :: [k]) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList '[a] Source Comments # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList ('[a] ++ bs) => r) -> r Source Comments # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => ('[a] ++ '[b]) ~> '[b, a] Source Comments # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => '[b, a] ~> ('[a] ++ '[b]) Source Comments # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => ('[a] ++ bs) ~> (bs ++ '[a]) Source Comments # | |
(Ob a1, IsList (a2 ': as), IsList as) => IsList (a1 ': (a2 ': as) :: [k]) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods sList :: SList (a1 ': (a2 ': as)) Source Comments # withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList ((a1 ': (a2 ': as)) ++ bs) => r) -> r Source Comments # swap1 :: forall (b :: k). (Ob b, SymMonoidal k) => ((a1 ': (a2 ': as)) ++ '[b]) ~> (b ': (a1 ': (a2 ': as))) Source Comments # swap1Inv :: forall (b :: k). (Ob b, SymMonoidal k) => (b ': (a1 ': (a2 ': as))) ~> ((a1 ': (a2 ': as)) ++ '[b]) Source Comments # swap' :: forall (bs :: [k]). (IsList bs, SymMonoidal k) => ((a1 ': (a2 ': as)) ++ bs) ~> (bs ++ (a1 ': (a2 ': as))) Source Comments # |
concatFold :: forall {k} (as :: [k]) (bs :: [k]). (Ob as, Ob bs, Monoidal k) => (Fold as ** Fold bs) ~> Fold (as ++ bs) Source Comments #
splitFold :: forall {k} (as :: [k]) (bs :: [k]). (Ob as, Ob bs, Monoidal k) => Fold (as ++ bs) ~> (Fold as ** Fold bs) Source Comments #
data Strictified (as :: [k]) (bs :: [k]) where Source Comments #
Constructors
Str :: forall {k} (as :: [k]) (bs :: [k]). (Ob as, Ob bs) => (Fold as ~> Fold bs) -> Strictified as bs |
Instances
Monoidal k => Promonad (Strictified :: [k] -> [k] -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods id :: forall (a :: [k]). Ob a => Strictified a a Source Comments # (.) :: forall (b :: [k]) (c :: [k]) (a :: [k]). Strictified b c -> Strictified a b -> Strictified a c Source Comments # | |
Monoidal k => MonoidalProfunctor (Strictified :: [k] -> [k] -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Strictified Methods par0 :: Strictified (Unit :: [k]) (Unit :: [k]) Source Comments # par :: forall (x1 :: [k]) (x2 :: [k]) (y1 :: [k]) (y2 :: [k]). Strictified x1 x2 -> Strictified y1 y2 -> Strictified (x1 ** y1) (x2 ** y2) Source Comments # | |
Monoidal k => Profunctor (Strictified :: [k] -> [k] -> Type) Source Comments # | |
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 Comments # (\\) :: forall (a :: [k]) (b :: [k]) r. ((Ob a, Ob b) => r) -> Strictified a b -> r Source Comments # |
Orphan instances
Monoidal k => Monoidal [k] Source Comments # | |||||
Associated Types
Methods withOb2 :: forall (a :: [k]) (b :: [k]) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Comments # leftUnitor :: forall (a :: [k]). Ob a => ((Unit :: [k]) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: [k]). Ob a => a ~> ((Unit :: [k]) ** a) Source Comments # rightUnitor :: forall (a :: [k]). Ob a => (a ** (Unit :: [k])) ~> a Source Comments # rightUnitorInv :: forall (a :: [k]). Ob a => a ~> (a ** (Unit :: [k])) Source Comments # associator :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||
SymMonoidal k => SymMonoidal [k] Source Comments # | |||||
Monoidal k => CategoryOf [k] Source Comments # | |||||
Associated Types
|