Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Arrow utilities not related to machinecell library.
- ary0 :: (forall p q. (p -> m q) -> a p q) -> m b -> a () b
- ary1 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> m b) -> a a1 b
- ary2 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> m b) -> a (a1, a2) b
- ary3 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> a3 -> m b) -> a (a1, a2, a3) b
- ary4 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> a3 -> a4 -> m b) -> a (a1, a2, a3, a4) b
- ary5 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> a3 -> a4 -> a5 -> m b) -> a (a1, a2, a3, a4, a5) b
- kleisli :: Monad m => (a -> m b) -> Kleisli m a b
- kleisli0 :: Monad m => m b -> Kleisli m () b
- kleisli2 :: Monad m => (a1 -> a2 -> m b) -> Kleisli m (a1, a2) b
- kleisli3 :: Monad m => (a1 -> a2 -> a3 -> m b) -> Kleisli m (a1, a2, a3) b
- kleisli4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> m b) -> Kleisli m (a1, a2, a3, a4) b
- kleisli5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> m b) -> Kleisli m (a1, a2, a3, a4, a5) b
- unArrowMonad :: ArrowApply a => (p -> ArrowMonad a q) -> a p q
- arrowMonad :: ArrowApply a => a p q -> p -> ArrowMonad a q
- reading :: (Monad m, Arrow a) => (forall p q. (p -> m q) -> a p q) -> (b -> ReaderT r m c) -> ReaderArrow r a b c
- statefully :: (Monad m, Arrow a) => (forall p q. (p -> m q) -> a p q) -> (b -> StateT s m c) -> StateArrow s a b c
- type AS e = (e, ())
- toAS :: e -> AS e
- fromAS :: AS e -> e
- elimR :: ArrowAddReader r a a' => a (AS e) b -> a' (e, AS r) b
Arrow construction helper
ary4 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> a3 -> a4 -> m b) -> a (a1, a2, a3, a4) b Source
ary5 :: (forall p q. (p -> m q) -> a p q) -> (a1 -> a2 -> a3 -> a4 -> a5 -> m b) -> a (a1, a2, a3, a4, a5) b Source
kleisli5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> m b) -> Kleisli m (a1, a2, a3, a4, a5) b Source
unArrowMonad :: ArrowApply a => (p -> ArrowMonad a q) -> a p q Source
arrowMonad :: ArrowApply a => a p q -> p -> ArrowMonad a q Source
reading :: (Monad m, Arrow a) => (forall p q. (p -> m q) -> a p q) -> (b -> ReaderT r m c) -> ReaderArrow r a b c Source
statefully :: (Monad m, Arrow a) => (forall p q. (p -> m q) -> a p q) -> (b -> StateT s m c) -> StateArrow s a b c Source
To absorve arrow stack signature difference bettween ghc 7.8 and older.
elimR :: ArrowAddReader r a a' => a (AS e) b -> a' (e, AS r) b Source
Alternate for elimReader
that can be used with both ghc 7.8 and older.