mmsyn5-0.4.2.0: Various additional operations on lists (some with intermediate Monads)

Copyright(c) OleksandrZhabenko 2019
LicenseMIT
Maintainerolexandr543@yahoo.com
Safe HaskellSafe
LanguageHaskell2010

Data.List.InnToOut.Unsafe

Contents

Description

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.