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

Safe HaskellNone
LanguageHaskell2010

SubHask.Category.Slice

Documentation

data Comma cat1 cat2 cat3 a b Source

Constructors

Comma (cat1 a b) (cat2 a b) 

Instances

(Category k1 cat1, Category k1 cat2, Category k cat3) => Category k (Comma (k -> k -> *) k k cat1 cat2 cat3) Source 
type ValidCategory k1 (Comma (k -> k -> *) k1 k1 cat1 cat2 cat3) a = (ValidCategory k1 cat1 a, ValidCategory k1 cat2 a) Source 

data (cat / obj) a b Source

Constructors

Slice (cat a b) 

Instances

Category * cat => Category * ((/) cat obj) Source 
type ValidCategory * ((/) cat obj) a = (ValidCategory * cat a, Category * cat) Source 

runSlice :: (ValidCategory (cat / obj) a, ValidCategory (cat / obj) b) => (cat / obj) a b -> cat b obj -> cat a obj Source