Safe Haskell  SafeInfered 

 newtype ArrowAsMonad a c = ArrowAsMonad {
 unApplyAsMonad :: a () c
 monadicA :: ArrowApply a => (b > ArrowAsMonad a c) > a b c
 unmonadicA :: ArrowApply a => a b c > b > ArrowAsMonad a c
 liftA :: Arrow a => (c > d) > a b c > a b d
 liftA2 :: ArrowApply a => (p1 > p2 > d) > a b p1 > a b p2 > a b d
 liftA3 :: ArrowApply a => (p1 > p2 > p3 > d) > a b p1 > a b p2 > a b p3 > a b d
 liftA4 :: ArrowApply a => (p1 > p2 > p3 > p4 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b d
 liftA5 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b d
 liftA6 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b d
 liftA7 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b d
 liftA8 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > p8 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b p8 > a b d
 liftA9 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > p8 > p9 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b p8 > a b p9 > a b d
 liftAM :: (ArrowApply a, Monad m) => (p1 > c) > a b (m p1) > a b (m c)
 liftAM2 :: (ArrowApply a, Monad m) => (p1 > p2 > c) > a b (m p1) > a b (m p2) > a b (m c)
 liftAM3 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m c)
 liftAM4 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > p4 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m p4) > a b (m c)
 liftAM5 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > p4 > p5 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m p4) > a b (m p5) > a b (m c)
Documentation
newtype ArrowAsMonad a c Source
ArrowAsMonad  

(Arrow a, ArrowApply a) => Monad (ArrowAsMonad a)  An instance that lets you work with Arrows that support ArrowApply as monads.  Example:  myarrow :: ArrowApply a => a Int Int  myarrow = monadicA $ v > do  let vp1 = v + 1  v' < unmonadicA anotherIntToIntArrow vp1  return (v' * 10) 
monadicA :: ArrowApply a => (b > ArrowAsMonad a c) > a b cSource
Embed a block of monadic code in an arrow.
unmonadicA :: ArrowApply a => a b c > b > ArrowAsMonad a cSource
Embed an arrow in a block of monadic code.
liftA2 :: ArrowApply a => (p1 > p2 > d) > a b p1 > a b p2 > a b dSource
Lift an Arrow operation with two parameters
liftA3 :: ArrowApply a => (p1 > p2 > p3 > d) > a b p1 > a b p2 > a b p3 > a b dSource
Lift an Arrow operation with three parameters
liftA4 :: ArrowApply a => (p1 > p2 > p3 > p4 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b dSource
Lift an Arrow operation with four parameters
liftA5 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b dSource
Lift an Arrow operation with five parameters
liftA6 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b dSource
Lift an Arrow operation with six parameters
liftA7 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b dSource
Lift an Arrow operation with seven parameters
liftA8 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > p8 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b p8 > a b dSource
Lift an Arrow operation with eight parameters
liftA9 :: ArrowApply a => (p1 > p2 > p3 > p4 > p5 > p6 > p7 > p8 > p9 > d) > a b p1 > a b p2 > a b p3 > a b p4 > a b p5 > a b p6 > a b p7 > a b p8 > a b p9 > a b dSource
Lift an Arrow operation with eight parameters
liftAM :: (ArrowApply a, Monad m) => (p1 > c) > a b (m p1) > a b (m c)Source
liftAM2 :: (ArrowApply a, Monad m) => (p1 > p2 > c) > a b (m p1) > a b (m p2) > a b (m c)Source
liftAM3 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m c)Source
liftAM4 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > p4 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m p4) > a b (m c)Source
liftAM5 :: (ArrowApply a, Monad m) => (p1 > p2 > p3 > p4 > p5 > c) > a b (m p1) > a b (m p2) > a b (m p3) > a b (m p4) > a b (m p5) > a b (m c)Source