| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Profunctor.Instance.Sieve
Description
Sieves: a says which arrows into Sieve a ba and out of b are in, closed under
composition on both sides. Sieves are the subobjects of the representable at a/b, so they are
the truth values of a category of profunctors, and
Proarrow.Category.Enriched.Finitary makes them the
HasSubobjectClassifier of the finitary ones.
Documentation
data Sieve (a :: k) (b :: j) where Source Github #
Constructors
| Sieve :: forall {k} {j} (a :: k) (b :: j). (Ob a, Ob b) => (forall (c :: k) (d :: j). (c ~> a) -> (b ~> d) -> Bool) -> Sieve a b |
Instances
| (FiniteCat j, FiniteCat k) => Finitary (Sieve :: k -> j -> Type) Source Github # | |
Defined in Proarrow.Category.Enriched.Finitary Methods size :: forall (a :: k) (b :: j). (Ob a, Ob b) => Natural Source Github # toIndex :: forall (a :: k) (b :: j). (Ob a, Ob b) => Sieve a b -> Natural Source Github # fromIndex :: forall (a :: k) (b :: j). (Ob a, Ob b) => Natural -> Sieve a b Source Github # elements :: forall (a :: k) (b :: j). (Ob a, Ob b) => [Sieve a b] Source Github # | |
| (CategoryOf j, CategoryOf k) => Profunctor (Sieve :: k -> j -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Sieve Methods dimap :: forall (c :: k) (a :: k) (b :: j) (d :: j). (c ~> a) -> (b ~> d) -> Sieve a b -> Sieve c d Source Github # lmap :: forall (c :: k) (a :: k) (b :: j). (c ~> a) -> Sieve a b -> Sieve c b Source Github # rmap :: forall (b :: j) (d :: j) (a :: k). (b ~> d) -> Sieve a b -> Sieve a d Source Github # (\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> Sieve a b -> r Source Github # | |