Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data ConstrainedT xs cat a b where
- ConstrainedT :: (AppConstraints xs a, AppConstraints xs b, ValidCategory cat a, ValidCategory cat b) => cat a b -> ConstrainedT xs cat a b
- proveConstrained :: (ValidCategory (ConstrainedT xs cat) a, ValidCategory (ConstrainedT xs cat) b) => cat a b -> ConstrainedT xs cat a b
- type EqHask = ConstrainedT `[Eq_]` Hask
- proveEqHask :: (Eq a, Eq b) => (a -> b) -> a `EqHask` b
- type OrdHask = ConstrainedT `[Ord_]` Hask
- proveOrdHask :: (Ord a, Ord b) => (a -> b) -> a `OrdHask` b
Documentation
data ConstrainedT xs cat a b where Source
ConstrainedT :: (AppConstraints xs a, AppConstraints xs b, ValidCategory cat a, ValidCategory cat b) => cat a b -> ConstrainedT xs cat a b |
Monad OrdHask LexSet Source | |
Functor * OrdHask LexSet Source | |
Category * cat => Category * (ConstrainedT xs cat) Source | |
(AppConstraints xs (TUnit * cat), Monoidal cat) => Monoidal (ConstrainedT xs cat) Source | |
Sup (* -> * -> *) b a c => Sup (* -> * -> *) a (ConstrainedT xs b) c Source | |
(<:) (* -> * -> *) subcat cat => (<:) (* -> * -> *) (ConstrainedT xs subcat) cat Source | |
Sup (* -> * -> *) a b c => Sup (* -> * -> *) (ConstrainedT xs a) b c Source | |
type Tensor k (ConstrainedT xs cat) = Tensor k cat Source | |
type TUnit k (ConstrainedT xs cat) = TUnit k cat Source | |
type ValidCategory * (ConstrainedT xs cat) a Source |
proveConstrained :: (ValidCategory (ConstrainedT xs cat) a, ValidCategory (ConstrainedT xs cat) b) => cat a b -> ConstrainedT xs cat a b Source
Common type synonyms
type EqHask = ConstrainedT `[Eq_]` Hask Source
proveEqHask :: (Eq a, Eq b) => (a -> b) -> a `EqHask` b Source
type OrdHask = ConstrainedT `[Ord_]` Hask Source
proveOrdHask :: (Ord a, Ord b) => (a -> b) -> a `OrdHask` b Source