| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.FinHask
Documentation
newtype Fin (n :: Nat) Source Github #
Instances
Instances
| Monoidal FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Associated Types
Methods withOb2 :: forall (a :: FINHASK) (b :: FINHASK) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: FINHASK). Ob a => ((Unit :: FINHASK) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: FINHASK). Ob a => a ~> ((Unit :: FINHASK) ** a) Source Github # rightUnitor :: forall (a :: FINHASK). Ob a => (a ** (Unit :: FINHASK)) ~> a Source Github # rightUnitorInv :: forall (a :: FINHASK). Ob a => a ~> (a ** (Unit :: FINHASK)) Source Github # associator :: forall (a :: FINHASK) (b :: FINHASK) (c :: FINHASK). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: FINHASK) (b :: FINHASK) (c :: FINHASK). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||||||
| SymMonoidal FINHASK Source Github # | |||||||||
| Closed FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Methods withObExp :: forall (a :: FINHASK) (b :: FINHASK) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Github # curry :: forall (a :: FINHASK) (b :: FINHASK) (c :: FINHASK). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Github # apply :: forall (a :: FINHASK) (b :: FINHASK). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Github # (^^^) :: forall (a :: FINHASK) (b :: FINHASK) (x :: FINHASK) (y :: FINHASK). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Github # | |||||||||
| CopyDiscard FINHASK Source Github # | |||||||||
| Distributive FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Methods distL :: forall (a :: FINHASK) (b :: FINHASK) (c :: FINHASK). (Ob a, Ob b, Ob c) => (a ** (b || c)) ~> ((a ** b) || (a ** c)) Source Github # distR :: forall (a :: FINHASK) (b :: FINHASK) (c :: FINHASK). (Ob a, Ob b, Ob c) => ((a || b) ** c) ~> ((a ** c) || (b ** c)) Source Github # absorbL :: forall (a :: FINHASK). Ob a => (a ** (InitialObject :: FINHASK)) ~> (InitialObject :: FINHASK) Source Github # absorbR :: forall (a :: FINHASK). Ob a => ((InitialObject :: FINHASK) ** a) ~> (InitialObject :: FINHASK) Source Github # | |||||||||
| ElementaryTopos FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| HasEpiMonoFactorization FINHASK Source Github # | |||||||||
| HasSubobjectClassifier FINHASK Source Github # |
| ||||||||
Defined in Proarrow.Category.Instance.FinHask Associated Types
| |||||||||
| HasBinaryCoproducts FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Methods withObCoprod :: forall (a :: FINHASK) (b :: FINHASK) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Github # lft :: forall (a :: FINHASK) (b :: FINHASK). (Ob a, Ob b) => a ~> (a || b) Source Github # rgt :: forall (a :: FINHASK) (b :: FINHASK). (Ob a, Ob b) => b ~> (a || b) Source Github # (|||) :: forall (x :: FINHASK) (a :: FINHASK) (y :: FINHASK). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Github # (+++) :: forall (a :: FINHASK) (b :: FINHASK) (x :: FINHASK) (y :: FINHASK). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Github # | |||||||||
| HasCoequalizers FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| HasInitialObject FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Associated Types
| |||||||||
| HasPushouts FINHASK Source Github # | Exercise 6.22 of Seven Sketches >>> let l :: FinHask (FH (Fin 4)) (FH (Fin 3)) = fromList [(0,0), (1,0), (2,1), (3,2)] >>> let r :: FinHask (FH (Fin 4)) (FH (Fin 5)) = fromList [(0,0), (1,2), (2,4), (3,4)] >>> (pushout l r l' r' -> P.show (l', r')) :: P.String "(fromList [(0,1),(1,3),(2,3)],fromList [(0,1),(1,0),(2,1),(3,2),(4,3)])" | ||||||||
Defined in Proarrow.Category.Instance.FinHask Methods pushout :: forall (o :: FINHASK) (a :: FINHASK) (b :: FINHASK) r. (o ~> a) -> (o ~> b) -> (forall (p :: FINHASK). (a ~> p) -> (b ~> p) -> r) -> r Source Github # factorPushout :: forall (a :: FINHASK) (b :: FINHASK) (p :: FINHASK) (q :: FINHASK). (a ~> p) -> (b ~> p) -> (a ~> q) -> (b ~> q) -> p ~> q Source Github # | |||||||||
| CategoryOf FINHASK Source Github # | |||||||||
| HasBinaryProducts FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Methods withObProd :: forall (a :: FINHASK) (b :: FINHASK) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Github # fst :: forall (a :: FINHASK) (b :: FINHASK). (Ob a, Ob b) => (a && b) ~> a Source Github # snd :: forall (a :: FINHASK) (b :: FINHASK). (Ob a, Ob b) => (a && b) ~> b Source Github # (&&&) :: forall (a :: FINHASK) (x :: FINHASK) (y :: FINHASK). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Github # (***) :: forall (a :: FINHASK) (b :: FINHASK) (x :: FINHASK) (y :: FINHASK). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Github # | |||||||||
| HasEqualizers FINHASK Source Github # |
| ||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| HasPullbacks FINHASK Source Github # | Example 3.84 of Seven Sketches (A: 0=red, 1=blue, 2=black) >>> data Color = Red | Blue | Black deriving (P.Eq, P.Ord, P.Show, P.Enum, P.Bounded, Universe, Finite) >>> let f :: FinHask (FH (Fin 6)) (FH Color) = fromList [(0,Red), (1,Blue), (2,Red), (3,Red), (4,Black), (5,Blue)] >>> let g :: FinHask (FH (Fin 4)) (FH Color) = fromList [(0,Black), (1,Red), (2,Blue), (3,Red)] >>> (pullback f g (FinHask l) (FinHask r) -> P.show (P.zip (M.elems l) (M.elems r))) :: P.String "[(0,1),(0,3),(1,2),(2,1),(2,3),(3,1),(3,3),(4,0),(5,2)]" | ||||||||
Defined in Proarrow.Category.Instance.FinHask Methods pullback :: forall (o :: FINHASK) (a :: FINHASK) (b :: FINHASK) r. (a ~> o) -> (b ~> o) -> (forall (p :: FINHASK). (p ~> a) -> (p ~> b) -> r) -> r Source Github # factorPullback :: forall (a :: FINHASK) (b :: FINHASK) (p :: FINHASK) (q :: FINHASK). (p ~> a) -> (p ~> b) -> (q ~> a) -> (q ~> b) -> q ~> p Source Github # | |||||||||
| HasTerminalObject FINHASK Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Associated Types
| |||||||||
| HasPushoutComplements FINHASK Source Github # | |||||||||
| Promonad FinHask Source Github # | |||||||||
| MonoidalProfunctor FinHask Source Github # | |||||||||
| Profunctor FinHask Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask Methods dimap :: forall (c :: FINHASK) (a :: FINHASK) (b :: FINHASK) (d :: FINHASK). (c ~> a) -> (b ~> d) -> FinHask a b -> FinHask c d Source Github # lmap :: forall (c :: FINHASK) (a :: FINHASK) (b :: FINHASK). (c ~> a) -> FinHask a b -> FinHask c b Source Github # rmap :: forall (b :: FINHASK) (d :: FINHASK) (a :: FINHASK). (b ~> d) -> FinHask a b -> FinHask a d Source Github # (\\) :: forall (a :: FINHASK) (b :: FINHASK) r. ((Ob a, Ob b) => r) -> FinHask a b -> r Source Github # | |||||||||
| Ob ('FH a) => Comonoid ('FH a :: FINHASK) Source Github # | |||||||||
| Monoid ('FH ()) Source Github # | |||||||||
| type Unit Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type Omega Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type InitialObject Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type (~>) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type TerminalObject Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type Ob (a :: FINHASK) Source Github # | |||||||||
| type (a :: FINHASK) ** (b :: FINHASK) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.FinHask | |||||||||
| type (a :: FINHASK) ~~> (b :: FINHASK) Source Github # | |||||||||
| type ('FH a :: FINHASK) || ('FH b :: FINHASK) Source Github # | |||||||||
| type ('FH a :: FINHASK) && ('FH b :: FINHASK) Source Github # | |||||||||
data FinHask (a :: FINHASK) (b :: FINHASK) where Source Github #
Constructors
| FinHask | |