GArrowKappa(..),
GArrowSTKC(..),
+ GArrowSTKCL(..),
GArrowSTLC(..),
GArrowPCF(..)
-- Loop
class GArrow g (**) u => GArrowLoop g (**) u where
- ga_loopl :: g (x**z) (y**z) -> g x y
- ga_loopr :: g (z**x) (z**y) -> g x y
+ ga_loopr :: g (x**z) (y**z) -> g x y
+ ga_loopl :: g (z**x) (z**y) -> g x y
------------------------------------------------------------------------
GArrowSwap g (GArrowTensor g) (GArrowUnit g)) =>
GArrowSTKC g
+class (GArrowDrop g (GArrowTensor g) (GArrowUnit g),
+ GArrowCopy g (GArrowTensor g) (GArrowUnit g),
+ GArrowSwap g (GArrowTensor g) (GArrowUnit g),
+ GArrowLoop g (GArrowTensor g) (GArrowUnit g)) =>
+ GArrowSTKCL g
+
-- The simply typed LAMBDA calculus
class (GArrowDrop g (GArrowTensor g) (GArrowUnit g),
GArrowCopy g (GArrowTensor g) (GArrowUnit g),