Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data FIN (n :: NAT) where Source Comments #
Instances
CategoryOf (FIN n) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
HasBinaryCoproducts (FIN ('S n)) => HasBinaryCoproducts (FIN ('S ('S n))) Source Comments # | Maximum | ||||
Defined in Proarrow.Category.Instance.Fin lft :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (Ob a, Ob b) => a ~> (a || b) Source Comments # lft' :: forall (a :: FIN ('S ('S n))) (a' :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (a ~> a') -> Obj b -> a ~> (a' || b) Source Comments # rgt :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (Ob a, Ob b) => b ~> (a || b) Source Comments # rgt' :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))) (b' :: FIN ('S ('S n))). Obj a -> (b ~> b') -> b ~> (a || b') Source Comments # (|||) :: forall (x :: FIN ('S ('S n))) (a :: FIN ('S ('S n))) (y :: FIN ('S ('S n))). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments # (+++) :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))) (x :: FIN ('S ('S n))) (y :: FIN ('S ('S n))). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments # | |||||
HasBinaryCoproducts (FIN ('S 'Z)) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin lft :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (Ob a, Ob b) => a ~> (a || b) Source Comments # lft' :: forall (a :: FIN ('S 'Z)) (a' :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (a ~> a') -> Obj b -> a ~> (a' || b) Source Comments # rgt :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (Ob a, Ob b) => b ~> (a || b) Source Comments # rgt' :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)) (b' :: FIN ('S 'Z)). Obj a -> (b ~> b') -> b ~> (a || b') Source Comments # (|||) :: forall (x :: FIN ('S 'Z)) (a :: FIN ('S 'Z)) (y :: FIN ('S 'Z)). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments # (+++) :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)) (x :: FIN ('S 'Z)) (y :: FIN ('S 'Z)). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments # | |||||
HasBinaryCoproducts (FIN 'Z) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin lft :: forall (a :: FIN 'Z) (b :: FIN 'Z). (Ob a, Ob b) => a ~> (a || b) Source Comments # lft' :: forall (a :: FIN 'Z) (a' :: FIN 'Z) (b :: FIN 'Z). (a ~> a') -> Obj b -> a ~> (a' || b) Source Comments # rgt :: forall (a :: FIN 'Z) (b :: FIN 'Z). (Ob a, Ob b) => b ~> (a || b) Source Comments # rgt' :: forall (a :: FIN 'Z) (b :: FIN 'Z) (b' :: FIN 'Z). Obj a -> (b ~> b') -> b ~> (a || b') Source Comments # (|||) :: forall (x :: FIN 'Z) (a :: FIN 'Z) (y :: FIN 'Z). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments # (+++) :: forall (a :: FIN 'Z) (b :: FIN 'Z) (x :: FIN 'Z) (y :: FIN 'Z). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments # | |||||
HasBinaryProducts (FIN ('S n)) => HasBinaryProducts (FIN ('S ('S n))) Source Comments # | Minimum | ||||
Defined in Proarrow.Category.Instance.Fin fst :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (Ob a, Ob b) => (a && b) ~> a Source Comments # fst' :: forall (a :: FIN ('S ('S n))) (a' :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (a ~> a') -> Obj b -> (a && b) ~> a' Source Comments # snd :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))). (Ob a, Ob b) => (a && b) ~> b Source Comments # snd' :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))) (b' :: FIN ('S ('S n))). Obj a -> (b ~> b') -> (a && b) ~> b' Source Comments # (&&&) :: forall (a :: FIN ('S ('S n))) (x :: FIN ('S ('S n))) (y :: FIN ('S ('S n))). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments # (***) :: forall (a :: FIN ('S ('S n))) (b :: FIN ('S ('S n))) (x :: FIN ('S ('S n))) (y :: FIN ('S ('S n))). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments # | |||||
HasBinaryProducts (FIN ('S 'Z)) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin fst :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (Ob a, Ob b) => (a && b) ~> a Source Comments # fst' :: forall (a :: FIN ('S 'Z)) (a' :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (a ~> a') -> Obj b -> (a && b) ~> a' Source Comments # snd :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)). (Ob a, Ob b) => (a && b) ~> b Source Comments # snd' :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)) (b' :: FIN ('S 'Z)). Obj a -> (b ~> b') -> (a && b) ~> b' Source Comments # (&&&) :: forall (a :: FIN ('S 'Z)) (x :: FIN ('S 'Z)) (y :: FIN ('S 'Z)). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments # (***) :: forall (a :: FIN ('S 'Z)) (b :: FIN ('S 'Z)) (x :: FIN ('S 'Z)) (y :: FIN ('S 'Z)). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments # | |||||
HasBinaryProducts (FIN 'Z) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin fst :: forall (a :: FIN 'Z) (b :: FIN 'Z). (Ob a, Ob b) => (a && b) ~> a Source Comments # fst' :: forall (a :: FIN 'Z) (a' :: FIN 'Z) (b :: FIN 'Z). (a ~> a') -> Obj b -> (a && b) ~> a' Source Comments # snd :: forall (a :: FIN 'Z) (b :: FIN 'Z). (Ob a, Ob b) => (a && b) ~> b Source Comments # snd' :: forall (a :: FIN 'Z) (b :: FIN 'Z) (b' :: FIN 'Z). Obj a -> (b ~> b') -> (a && b) ~> b' Source Comments # (&&&) :: forall (a :: FIN 'Z) (x :: FIN 'Z) (y :: FIN 'Z). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments # (***) :: forall (a :: FIN 'Z) (b :: FIN 'Z) (x :: FIN 'Z) (y :: FIN 'Z). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments # | |||||
HasInitialObject (FIN ('S n)) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin
| |||||
HasTerminalObject (FIN ('S n)) => HasTerminalObject (FIN ('S ('S n))) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin
| |||||
HasTerminalObject (FIN ('S 'Z)) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin
| |||||
Promonad (LTE :: FIN n -> FIN n -> Type) Source Comments # | |||||
Profunctor (LTE :: FIN n -> FIN n -> Type) Source Comments # | |||||
ThinProfunctor (LTE :: FIN n -> FIN n -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
type (~>) Source Comments # | |||||
type InitialObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
type TerminalObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
type TerminalObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
type Ob (a :: FIN n) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Fin | |||||
type (a :: FIN 'Z) || (b :: FIN 'Z) Source Comments # | |||||
type (a :: FIN 'Z) && (b :: FIN 'Z) Source Comments # | |||||
type (a :: FIN ('S ('S n))) || ('FZ :: FIN ('S ('S n))) Source Comments # | |||||
type (a :: FIN ('S ('S n))) && ('FZ :: FIN ('S ('S n))) Source Comments # | |||||
type ('FZ :: FIN ('S ('S n))) || (b :: FIN ('S ('S n))) Source Comments # | |||||
type ('FZ :: FIN ('S ('S n))) && (b :: FIN ('S ('S n))) Source Comments # | |||||
type ('FZ :: FIN ('S 'Z)) || ('FZ :: FIN ('S 'Z)) Source Comments # | |||||
type ('FZ :: FIN ('S 'Z)) && ('FZ :: FIN ('S 'Z)) Source Comments # | |||||
type HasArrow (LTE :: FIN n -> FIN n -> Type) (a :: FIN n) (b :: FIN n) Source Comments # | |||||
type ('FS a :: FIN ('S ('S n))) || ('FS b :: FIN ('S ('S n))) Source Comments # | |||||
type ('FS a :: FIN ('S ('S n))) && ('FS b :: FIN ('S ('S n))) Source Comments # | |||||
data LTE (a :: FIN n) (b :: FIN n) where Source Comments #
ZEQ :: forall {n1 :: NAT}. LTE ('FZ :: FIN ('S n1)) ('FZ :: FIN ('S n1)) | |
ZLT :: forall {n1 :: NAT} (b1 :: FIN ('S n1)). LTE ('FZ :: FIN ('S n1)) b1 -> LTE ('FZ :: FIN ('S ('S n1))) ('FS b1) | |
SLT :: forall {n1 :: NAT} (a1 :: FIN ('S n1)) (b1 :: FIN ('S n1)). LTE a1 b1 -> LTE ('FS a1) ('FS b1) |
Instances
Promonad (LTE :: FIN n -> FIN n -> Type) Source Comments # | |
Profunctor (LTE :: FIN n -> FIN n -> Type) Source Comments # | |
ThinProfunctor (LTE :: FIN n -> FIN n -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Fin | |
type HasArrow (LTE :: FIN n -> FIN n -> Type) (a :: FIN n) (b :: FIN n) Source Comments # | |
class IsLTE (a :: FIN n) (b :: FIN n) where Source Comments #