ContentsIndex
Org.Org.Semantic.HBase.Category.Arrow
Synopsis
class Compositor arrow => Arrow arrow where
arrFunction :: (p -> q) -> arrow p q
arrReturn :: q -> arrow p q
arrMap :: Arrow arrow => (a -> b) -> arrow p a -> arrow p b
arrCoMap2 :: Arrow arrow => (b -> a) -> arrow a q -> arrow b q
class Arrow arrow => ProductArrow arrow where
arrApply :: arrow p (q -> r) -> arrow p q -> arrow p r
arrProduct :: arrow p q -> arrow p r -> arrow p (q, r)
liftA2 :: ProductArrow arrow => (a -> b -> r) -> arrow p a -> arrow p b -> arrow p r
arrFirst :: ProductArrow arrow => arrow p q -> arrow (p, r) (q, r)
arrSecond :: ProductArrow arrow => arrow p q -> arrow (r, p) (r, q)
arrBoth :: ProductArrow arrow => arrow pl ql -> arrow pr qr -> arrow (pl, pr) (ql, qr)
arrFuncMap :: ProductArrow arrow => (p -> q -> r) -> arrow p q -> arrow p r
arrPair :: ProductArrow arrow => arrow p q -> arrow p (p, q)
class Arrow arrow => CoproductArrow arrow where
arrCoproduct :: arrow p r -> arrow q r -> arrow (Either p q) r
arrLeftChoice :: CoproductArrow arrow => arrow pl ql -> arrow (Either pl r) (Either ql r)
arrRightChoice :: CoproductArrow arrow => arrow pr qr -> arrow (Either l pr) (Either l qr)
arrBothChoice :: CoproductArrow arrow => arrow pl ql -> arrow pr qr -> arrow (Either pl pr) (Either ql qr)
arrMaybeMap :: CoproductArrow arrow => arrow p q -> arrow (Maybe p) (Maybe q)
class (ProductArrow arrow, CoproductArrow arrow) => FullArrow arrow
class Arrow arrow => ArrowFix arrow where
arrFix :: arrow (p, q) q -> arrow p q
arrLoop :: ArrowFix arrow => arrow (p, r) (q, r) -> arrow p q
class FullArrow arrow => ApplyArrow arrow where
arrApplyArrow :: arrow (arrow p q, p) q
functionArrow :: ApplyArrow arrow => (p -> (arrow x q, x)) -> arrow p q
makeApplyArrow :: ApplyArrow arrow => (p -> arrow () q) -> arrow p q
unApplyArrow :: ApplyArrow arrow => arrow p q -> p -> arrow () q
newtype ArrowFunctor arrow a b = MkArrowFunctor {
unArrowFunctor :: (arrow a b)
}
Documentation
class Compositor arrow => Arrow arrow where
Methods
arrFunction :: (p -> q) -> arrow p q
arrReturn :: q -> arrow p q
Instances
Arrow (->)
Monad m => Arrow (Contextual m)
Arrow ConstFunction
Arrow a => Arrow (StaticArrow a)
FunctorApplyReturn f => Arrow (StaticFunctor f)
arrMap :: Arrow arrow => (a -> b) -> arrow p a -> arrow p b
arrCoMap2 :: Arrow arrow => (b -> a) -> arrow a q -> arrow b q
class Arrow arrow => ProductArrow arrow where
corresponds to Hughes' 'Arrow'
Methods
arrApply :: arrow p (q -> r) -> arrow p q -> arrow p r
arrProduct :: arrow p q -> arrow p r -> arrow p (q, r)
Instances
ProductArrow (->)
Monad m => ProductArrow (Contextual m)
ProductArrow ConstFunction
ProductArrow a => ProductArrow (StaticArrow a)
FunctorApplyReturn f => ProductArrow (StaticFunctor f)
liftA2 :: ProductArrow arrow => (a -> b -> r) -> arrow p a -> arrow p b -> arrow p r
arrFirst :: ProductArrow arrow => arrow p q -> arrow (p, r) (q, r)
arrSecond :: ProductArrow arrow => arrow p q -> arrow (r, p) (r, q)
arrBoth :: ProductArrow arrow => arrow pl ql -> arrow pr qr -> arrow (pl, pr) (ql, qr)
arrFuncMap :: ProductArrow arrow => (p -> q -> r) -> arrow p q -> arrow p r
arrPair :: ProductArrow arrow => arrow p q -> arrow p (p, q)
class Arrow arrow => CoproductArrow arrow where
Methods
arrCoproduct :: arrow p r -> arrow q r -> arrow (Either p q) r
Instances
CoproductArrow (->)
Monad m => CoproductArrow (Contextual m)
CoproductArrow ConstFunction
CoproductArrow a => CoproductArrow (StaticArrow a)
FunctorApplyReturn f => CoproductArrow (StaticFunctor f)
arrLeftChoice :: CoproductArrow arrow => arrow pl ql -> arrow (Either pl r) (Either ql r)
arrRightChoice :: CoproductArrow arrow => arrow pr qr -> arrow (Either l pr) (Either l qr)
arrBothChoice :: CoproductArrow arrow => arrow pl ql -> arrow pr qr -> arrow (Either pl pr) (Either ql qr)
arrMaybeMap :: CoproductArrow arrow => arrow p q -> arrow (Maybe p) (Maybe q)
class (ProductArrow arrow, CoproductArrow arrow) => FullArrow arrow
corresponds to Hughes' 'ArrowChoice'
Instances
(ProductArrow arrow, CoproductArrow arrow) => FullArrow arrow
class Arrow arrow => ArrowFix arrow where
Methods
arrFix :: arrow (p, q) q -> arrow p q
Instances
ArrowFix (->)
MonadFix m => ArrowFix (Contextual m)
ArrowFix ConstFunction
arrLoop :: ArrowFix arrow => arrow (p, r) (q, r) -> arrow p q
class FullArrow arrow => ApplyArrow arrow where
Methods
arrApplyArrow :: arrow (arrow p q, p) q
Instances
ApplyArrow (->)
Monad m => ApplyArrow (Contextual m)
ApplyArrow ConstFunction
functionArrow :: ApplyArrow arrow => (p -> (arrow x q, x)) -> arrow p q
makeApplyArrow :: ApplyArrow arrow => (p -> arrow () q) -> arrow p q
unApplyArrow :: ApplyArrow arrow => arrow p q -> p -> arrow () q
newtype ArrowFunctor arrow a b
Constructors
MkArrowFunctor
unArrowFunctor :: (arrow a b)
Instances
Arrow arrow => HasReturn (ArrowFunctor arrow a)
Arrow arrow => Functor (ArrowFunctor arrow a)
ProductArrow arrow => FunctorApply (ArrowFunctor arrow a)
ApplyArrow arrow => Monad (ArrowFunctor arrow ())
Produced by Haddock version 0.6