Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Profunctor.List
Documentation
Constructors
L [k] |
Instances
HasFreeK Monoidal LIST Source Comments # | |||||
Defined in Proarrow.Profunctor.Free | |||||
MonoidalAction m k => MonoidalAction m (LIST k) Source Comments # | |||||
Defined in Proarrow.Profunctor.List Methods withObAct :: forall (a :: m) (x :: LIST k) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Comments # unitor :: forall (x :: LIST k). Ob x => Act (Unit :: m) x ~> x Source Comments # unitorInv :: forall (x :: LIST k). Ob x => x ~> Act (Unit :: m) x Source Comments # multiplicator :: forall (a :: m) (b :: m) (x :: LIST k). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Comments # multiplicatorInv :: forall (a :: m) (b :: m) (x :: LIST k). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Comments # | |||||
CategoryOf k => Monoidal (LIST k) Source Comments # | The free monoidal category on a category. | ||||
Defined in Proarrow.Profunctor.List Associated Types
Methods withOb2 :: forall (a :: LIST k) (b :: LIST k) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Comments # leftUnitor :: forall (a :: LIST k). Ob a => ((Unit :: LIST k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: LIST k). Ob a => a ~> ((Unit :: LIST k) ** a) Source Comments # rightUnitor :: forall (a :: LIST k). Ob a => (a ** (Unit :: LIST k)) ~> a Source Comments # rightUnitorInv :: forall (a :: LIST k). Ob a => a ~> (a ** (Unit :: LIST k)) Source Comments # associator :: forall (a :: LIST k) (b :: LIST k) (c :: LIST k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: LIST k) (b :: LIST k) (c :: LIST k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||
CategoryOf k => CategoryOf (LIST k) Source Comments # | The category of lists of arrows. | ||||
Defined in Proarrow.Profunctor.List | |||||
Strong m p => Strong m (List p :: LIST k -> LIST j -> Type) Source Comments # | |||||
Profunctor p => MonoidalProfunctor (List p :: LIST k -> LIST j -> Type) Source Comments # | The free monoidal profunctor on a profunctor. | ||||
Profunctor p => Profunctor (List p :: LIST k -> LIST j -> Type) Source Comments # | |||||
Representable p => Representable (List p :: LIST k -> LIST j -> Type) Source Comments # | |||||
Defined in Proarrow.Profunctor.List Methods index :: forall (a :: LIST k) (b :: LIST j). List p a b -> a ~> (List p % b) Source Comments # tabulate :: forall (b :: LIST j) (a :: LIST k). Ob b => (a ~> (List p % b)) -> List p a b Source Comments # repMap :: forall (a :: LIST j) (b :: LIST j). (a ~> b) -> (List p % a) ~> (List p % b) Source Comments # | |||||
DaggerProfunctor p => DaggerProfunctor (List p :: LIST j -> LIST j -> Type) Source Comments # | |||||
Promonad p => Promonad (List p :: LIST j -> LIST j -> Type) Source Comments # | |||||
Functor (List :: (j +-> k) -> LIST k -> LIST j -> Type) Source Comments # | |||||
type Lift Monoidal LIST (a :: k) Source Comments # | |||||
Defined in Proarrow.Profunctor.Free | |||||
type Retract Monoidal LIST (a :: LIST k) Source Comments # | |||||
type Act (a :: m) ('L (b ': bs) :: LIST k) Source Comments # | |||||
type Act (a :: m) ('L ('[] :: [k]) :: LIST k) Source Comments # | |||||
Defined in Proarrow.Profunctor.List | |||||
type Unit Source Comments # | |||||
Defined in Proarrow.Profunctor.List | |||||
type (~>) Source Comments # | |||||
Defined in Proarrow.Profunctor.List | |||||
type Ob (as :: LIST k) Source Comments # | |||||
type (p :: LIST k) ** (q :: LIST k) Source Comments # | |||||
type UN ('L :: [k] -> LIST k) ('L as :: LIST k) Source Comments # | |||||
type (List p :: LIST k -> LIST j -> Type) % ('L (a ': as) :: LIST j) Source Comments # | |||||
type (List p :: LIST k -> LIST j -> Type) % ('L ('[] :: [j]) :: LIST j) Source Comments # | |||||
data List (p :: j +-> k) (as :: LIST k) (bs :: LIST j) where Source Comments #
Constructors
Nil :: forall {j} {k} (p :: j +-> k). List p ('L ('[] :: [k])) ('L ('[] :: [j])) | |
Cons :: forall {k} {j} (as1 :: [k]) (bs1 :: [j]) (p :: j +-> k) (a :: k) (b :: j). (IsList as1, IsList bs1) => p a b -> List p ('L as1) ('L bs1) -> List p ('L (a ': as1)) ('L (b ': bs1)) |