subhask-0.1.0.0: src/SubHask/Category/Product.hs
module SubHask.Category.Product
where
import GHC.Prim
import qualified Prelude as P
import SubHask.Category
import SubHask.Internal.Prelude
import GHC.Exts
-------------------------------------------------------------------------------
data (><) cat1 cat2 a b = Product (cat1 a b, cat2 a b)
instance (Category cat1, Category cat2) => Category (cat1 >< cat2) where
type ValidCategory (cat1><cat2) a = (ValidCategory cat1 a, ValidCategory cat2 a)
id = Product (id,id)
(Product (c1,d1)).(Product (c2,d2)) = Product (c1.c2,d1.d2)