Copyright | (c) OleksandrZhabenko 2019 |
---|---|
License | MIT |
Maintainer | olexandr543@yahoo.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Various additional operations on lists that have additional intermediate Monads inside.
Synopsis
- unsafeMapI22M :: Monad m => (a -> Bool) -> (a -> b) -> (b -> d) -> (a -> m c) -> (m c -> d) -> [a] -> [d]
- unsafeMapI2M2 :: Monad m => (a -> Bool) -> (a -> m b) -> (m b -> d) -> (a -> c) -> (c -> d) -> [a] -> [d]
- unsafeMapI2M2M :: (Monad m0, Monad m) => (a -> Bool) -> (a -> m0 b) -> (m0 b -> d) -> (a -> m c) -> (m c -> d) -> [a] -> [d]
- unsafeMapI12M :: Monad m => (a -> Bool) -> (a -> c) -> (a -> m b) -> (m b -> c) -> [a] -> [c]
- unsafeMapI2M1 :: Monad m => (a -> Bool) -> (a -> m b) -> (m b -> c) -> (a -> c) -> [a] -> [c]
Operations to obtain intermediate Monads. Like the unsafePerformIO
function they can have unpredictable behaviour. Use them ONLY if you surely know what you are doing.
unsafeMapI22M :: Monad m => (a -> Bool) -> (a -> b) -> (b -> d) -> (a -> m c) -> (m c -> d) -> [a] -> [d] Source #
Unsafe function in which the second intermediate result c
is in the Monad m
.
It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. Its your responsibility to check whether
the code does what you expect.
unsafeMapI2M2 :: Monad m => (a -> Bool) -> (a -> m b) -> (m b -> d) -> (a -> c) -> (c -> d) -> [a] -> [d] Source #
Unsafe function in which the first intermediate result b
is in the Monad m
.
It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. Its your responsibility to check whether
the code does what you expect.
unsafeMapI2M2M :: (Monad m0, Monad m) => (a -> Bool) -> (a -> m0 b) -> (m0 b -> d) -> (a -> m c) -> (m c -> d) -> [a] -> [d] Source #
Unsafe function in which both the intermediate results b
and c
are in the Monads.
It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. Its your responsibility to check whether
the code does what you expect.
unsafeMapI12M :: Monad m => (a -> Bool) -> (a -> c) -> (a -> m b) -> (m b -> c) -> [a] -> [c] Source #
Unsafe function in which the second intermediate result b
is in the Monad m
.
It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. Its your responsibility to check whether
the code does what you expect.
unsafeMapI2M1 :: Monad m => (a -> Bool) -> (a -> m b) -> (m b -> c) -> (a -> c) -> [a] -> [c] Source #
Unsafe function in which the first intermediate result b
is in the Monad m
.
It can have unpredictable behaviour. Use it ONLY if you surely know what you are doing. Its your responsibility to check whether
the code does what you expect.