pga_applyr,
pga_curryl,
pga_curryr,
+ pga_loopl,
+ pga_loopr,
pga_kappa
) where
import Control.Category ( (>>>) )
-------------------------------------------------------------------------
-- Used internally by the compiler, subject to change without notice!!
-newtype PGArrow g x y = PGArrowD { unG :: GArrowSTKC g => g x y }
+newtype PGArrow g x y = PGArrowD { unG :: GArrowSTKCL g => g x y }
pga_id :: forall g x. PGArrow g x x
pga_id = PGArrowD { unG = Control.Category.id }
pga_curryr = error "not implemented"
pga_kappa :: forall g x y . (g (GArrowUnit g) x -> g (GArrowUnit g) y) -> g x y
pga_kappa = error "not implemented"
+pga_loopr :: forall g x y z . PGArrow g (GArrowTensor g x z) (GArrowTensor g y z) -> PGArrow g x y
+pga_loopr f = PGArrowD { unG = ga_loopr $ unG f }
+pga_loopl :: forall g x y z . PGArrow g (GArrowTensor g z x) (GArrowTensor g z y) -> PGArrow g x y
+pga_loopl f = PGArrowD { unG = ga_loopl $ unG f }