| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.Bool
Synopsis
- data BOOL
- data Booleans (a :: BOOL) (b :: BOOL) where
- class IsBool (Dual b) => IsBool (b :: BOOL) where
- class IsBoolArr (a :: BOOL) (b :: BOOL) where
- data NonTrivialProfunctor (ft :: (BOOL, BOOL)) (a :: BOOL) (b :: BOOL) where
- type ARROW k = FUN BOOL k
- commSquare :: forall {k} (f :: BOOL +-> k) (g :: BOOL +-> k) (a :: k) (b :: k) (c :: k) (d :: k). (a ~ (f % 'FLS), b ~ (f % 'TRU), c ~ (g % 'FLS), d ~ (g % 'TRU)) => (('SUB f :: SUBCAT (Representable :: (BOOL +-> k) -> Constraint)) ~> ('SUB g :: SUBCAT (Representable :: (BOOL +-> k) -> Constraint))) -> (a ~> b, b ~> d, a ~> c, c ~> d)
Documentation
Instances
data Booleans (a :: BOOL) (b :: BOOL) where Source Github #
Instances
| Promonad Booleans Source Github # | |||||
| ThinProfunctor Booleans Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool | |||||
| MonoidalProfunctor Booleans Source Github # | |||||
| Profunctor Booleans Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool Methods dimap :: forall (c :: BOOL) (a :: BOOL) (b :: BOOL) (d :: BOOL). (c ~> a) -> (b ~> d) -> Booleans a b -> Booleans c d Source Github # lmap :: forall (c :: BOOL) (a :: BOOL) (b :: BOOL). (c ~> a) -> Booleans a b -> Booleans c b Source Github # rmap :: forall (b :: BOOL) (d :: BOOL) (a :: BOOL). (b ~> d) -> Booleans a b -> Booleans a d Source Github # (\\) :: forall (a :: BOOL) (b :: BOOL) r. ((Ob a, Ob b) => r) -> Booleans a b -> r Source Github # | |||||
| Corepresentable Booleans Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool Associated Types
Methods coindex :: forall (a :: BOOL) (b :: BOOL). Booleans a b -> (Booleans %% a) ~> b Source Github # cotabulate :: forall (a :: BOOL) (b :: BOOL). Ob a => ((Booleans %% a) ~> b) -> Booleans a b Source Github # corepMap :: forall (a :: BOOL) (b :: BOOL). (a ~> b) -> (Booleans %% a) ~> (Booleans %% b) Source Github # trivialCorep :: forall (a :: BOOL). Ob a => Booleans a (Booleans %% a) Source Github # | |||||
| Representable Booleans Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool Associated Types
Methods index :: forall (a :: BOOL) (b :: BOOL). Booleans a b -> a ~> (Booleans % b) Source Github # tabulate :: forall (b :: BOOL) (a :: BOOL). Ob b => (a ~> (Booleans % b)) -> Booleans a b Source Github # repMap :: forall (a :: BOOL) (b :: BOOL). (a ~> b) -> (Booleans % a) ~> (Booleans % b) Source Github # trivialRep :: forall (a :: BOOL). Ob a => Booleans (Booleans % a) a Source Github # | |||||
| Show (Booleans a b) Source Github # | |||||
| Eq (Booleans a b) Source Github # | |||||
| type Booleans %% (x :: BOOL) Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool | |||||
| type Booleans % (x :: BOOL) Source Github # | |||||
Defined in Proarrow.Category.Instance.Bool | |||||
| type HasArrow Booleans (a :: BOOL) (b :: BOOL) Source Github # | |||||
class IsBoolArr (a :: BOOL) (b :: BOOL) where Source Github #
data NonTrivialProfunctor (ft :: (BOOL, BOOL)) (a :: BOOL) (b :: BOOL) where Source Github #
Constructors
| FF :: forall (tt :: BOOL). NonTrivialProfunctor '('TRU, tt) 'FLS 'FLS | |
| FT :: forall (ft :: (BOOL, BOOL)). NonTrivialProfunctor ft 'FLS 'TRU | |
| TT :: forall (ff :: BOOL). NonTrivialProfunctor '(ff, 'TRU) 'TRU 'TRU |
Instances
| Profunctor (NonTrivialProfunctor ft :: BOOL -> BOOL -> Type) Source Github # | There are 4 non-trivial profunctors BOOL +-> BOOL, all with FLS->TRU, and optionally FLS->FLS and TRU->TRU. |
Defined in Proarrow.Category.Instance.Bool Methods dimap :: forall (c :: BOOL) (a :: BOOL) (b :: BOOL) (d :: BOOL). (c ~> a) -> (b ~> d) -> NonTrivialProfunctor ft a b -> NonTrivialProfunctor ft c d Source Github # lmap :: forall (c :: BOOL) (a :: BOOL) (b :: BOOL). (c ~> a) -> NonTrivialProfunctor ft a b -> NonTrivialProfunctor ft c b Source Github # rmap :: forall (b :: BOOL) (d :: BOOL) (a :: BOOL). (b ~> d) -> NonTrivialProfunctor ft a b -> NonTrivialProfunctor ft a d Source Github # (\\) :: forall (a :: BOOL) (b :: BOOL) r. ((Ob a, Ob b) => r) -> NonTrivialProfunctor ft a b -> r Source Github # | |
| Show (NonTrivialProfunctor ft a b) Source Github # | |
Defined in Proarrow.Category.Instance.Bool | |
| Eq (NonTrivialProfunctor ft a b) Source Github # | |
Defined in Proarrow.Category.Instance.Bool Methods (==) :: NonTrivialProfunctor ft a b -> NonTrivialProfunctor ft a b -> Bool Github # (/=) :: NonTrivialProfunctor ft a b -> NonTrivialProfunctor ft a b -> Bool Github # | |
commSquare :: forall {k} (f :: BOOL +-> k) (g :: BOOL +-> k) (a :: k) (b :: k) (c :: k) (d :: k). (a ~ (f % 'FLS), b ~ (f % 'TRU), c ~ (g % 'FLS), d ~ (g % 'TRU)) => (('SUB f :: SUBCAT (Representable :: (BOOL +-> k) -> Constraint)) ~> ('SUB g :: SUBCAT (Representable :: (BOOL +-> k) -> Constraint))) -> (a ~> b, b ~> d, a ~> c, c ~> d) Source Github #