subhask-0.1.0.0: Type safe interface for programming in subcategories of Hask

Safe HaskellNone
LanguageHaskell2010

SubHask.Category.Trans.Constrained

Contents

Synopsis

Documentation

data ConstrainedT xs cat a b where Source

Constructors

ConstrainedT :: (AppConstraints xs a, AppConstraints xs b, ValidCategory cat a, ValidCategory cat b) => cat a b -> ConstrainedT xs cat a b 

Instances

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

proveEqHask :: (Eq a, Eq b) => (a -> b) -> a `EqHask` b Source

proveOrdHask :: (Ord a, Ord b) => (a -> b) -> a `OrdHask` b Source