utility-ht-0.0.5.1: Various small helper functions for Lists, Maybes, Tuples, Functions

Safe Haskell | Safe-Inferred

Control.Monad.HT

Synopsis

- (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
- repeat :: Monad m => m a -> m [a]
- until :: Monad m => (a -> Bool) -> m a -> m a
- untilM :: Monad m => (a -> Bool) -> m a -> m a
- iterateLimit :: Monad m => Int -> (a -> m a) -> a -> m [a]
- iterateLimitM :: Monad m => Int -> (a -> m a) -> a -> m [a]
- andLazy :: Monad m => m Bool -> m Bool -> m Bool
- orLazy :: Monad m => m Bool -> m Bool -> m Bool

# Documentation

(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m cSource

Also present in newer versions of the `base` package.

repeat :: Monad m => m a -> m [a]Source

Monadic `repeat`.

until :: Monad m => (a -> Bool) -> m a -> m aSource

repeat action until result fulfills condition

untilM :: Monad m => (a -> Bool) -> m a -> m aSource

Deprecated: use M.until

repeat action until result fulfills condition

iterateLimit :: Monad m => Int -> (a -> m a) -> a -> m [a]Source

parameter order equal to that of `nest`

iterateLimitM :: Monad m => Int -> (a -> m a) -> a -> m [a]Source

Deprecated: use M.iterateLimit

parameter order equal to that of `nest`

andLazy :: Monad m => m Bool -> m Bool -> m Bool Source

Lazy monadic conjunction. That is, when the first action returns `False`, then `False` is immediately returned, without running the second action.

orLazy :: Monad m => m Bool -> m Bool -> m Bool Source

Lazy monadic disjunction. That is, when the first action returns `True`, then `True` is immediately returned, without running the second action.