Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Collection of convenience functions for dealing with nested monadic structures.
- reduceABA :: (Applicative a, Monad a, Traversable b) => a (b (a x)) -> a (b x)
- reduceBAB :: (Applicative a, Traversable b, Monad b) => b (a (b x)) -> a (b x)
- reduceABAB :: (Applicative a, Monad a, Traversable b, Monad b) => a (b (a (b x))) -> a (b x)
- reduceBABA :: (Applicative a, Monad a, Traversable b, Monad b) => b (a (b (a x))) -> a (b x)
- (<$$>) :: (Functor a, Functor b) => (x -> y) -> a (b x) -> a (b y)
- (>>>=) :: (Applicative a, Monad a, Traversable b, Monad b) => a (b x) -> (x -> a (b y)) -> a (b y)
- (>>==) :: (Functor a, Functor b, Monad b) => a (b x) -> (x -> b y) -> a (b y)
- (>=>=) :: (Applicative a, Monad a, Traversable b) => a (b x) -> (x -> a y) -> a (b y)
Documentation
reduceABA :: (Applicative a, Monad a, Traversable b) => a (b (a x)) -> a (b x) Source
Reduces A (B (A x))
to A (B x)
.
reduceBAB :: (Applicative a, Traversable b, Monad b) => b (a (b x)) -> a (b x) Source
Reduces B (A (B x))
to A (B x)
.
reduceABAB :: (Applicative a, Monad a, Traversable b, Monad b) => a (b (a (b x))) -> a (b x) Source
Reduces A (B (A (B x)))
to A (B x)
.
reduceBABA :: (Applicative a, Monad a, Traversable b, Monad b) => b (a (b (a x))) -> a (b x) Source
Reduces B (A (B (A x)))
to A (B x)
.
(<$$>) :: (Functor a, Functor b) => (x -> y) -> a (b x) -> a (b y) infixl 4 Source
"Deep" fmap
for mapping over nested functors.
(>>>=) :: (Applicative a, Monad a, Traversable b, Monad b) => a (b x) -> (x -> a (b y)) -> a (b y) infixl 1 Source
Variety of "deep bind" for chaining operations on nested data structures.
(>>==) :: (Functor a, Functor b, Monad b) => a (b x) -> (x -> b y) -> a (b y) infixl 1 Source
Variety of "deep bind" for chaining operations on nested data structures.
(>=>=) :: (Applicative a, Monad a, Traversable b) => a (b x) -> (x -> a y) -> a (b y) infixl 1 Source
Variety of "deep bind" for chaining operations on nested data structures.