HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleutility-ht-0.0.17.2Haskell98

Control.Monad.HT

  • 26 values
value(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
#

Also present in newer versions of the base package.

valueuntilM :: Monad m => (a -> Bool) -> m a -> m a
#

Deprecated. use M.until

repeat action until result fulfills condition

valueuntil :: Monad m => (a -> Bool) -> m a -> m a
#

repeat action until result fulfills condition

valueiterateLimitM :: Monad m => Int -> (a -> m a) -> a -> m [a]
#

Deprecated. use M.iterateLimit

parameter order equal to that of nest

valueiterate :: Monad m => (a -> m a) -> a -> m [a]
#

I think this makes only sense in a lazy monad like Trans.State.Lazy or IO.Lazy.

valueandLazy :: Monad m => m Bool -> m Bool -> m Bool
#

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

valueorLazy :: Monad m => m Bool -> m Bool -> m Bool
#

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

valuefor :: Monad m => [a] -> (a -> m b) -> m [b]
#
valuemap :: Monad m => (a -> m b) -> [a] -> m [b]
#
valuezipWith :: Monad m => (a -> b -> m c) -> [a] -> [b] -> m [c]
#
valuelift :: Monad m => (a -> r) -> m a -> m r
#
valuelift2 :: Monad m => (a -> b -> r) -> m a -> m b -> m r
#
valuelift3 :: Monad m => (a -> b -> c -> r) -> m a -> m b -> m c -> m r
#
valuelift4
  1. :: Monad m
  2. => a -> b -> c -> d -> r
  3. -> m a
  4. -> m b
  5. -> m c
  6. -> m d
  7. -> m r
#
valuelift5
  1. :: Monad m
  2. => a -> b -> c -> d -> e -> r
  3. -> m a
  4. -> m b
  5. -> m c
  6. -> m d
  7. -> m e
  8. -> m r
#
valueliftJoin3 :: Monad m => (a -> b -> c -> m d) -> m a -> m b -> m c -> m d
#
valueliftJoin4
  1. :: Monad m
  2. => a -> b -> c -> d -> m e
  3. -> m a
  4. -> m b
  5. -> m c
  6. -> m d
  7. -> m e
#
valueliftJoin5
  1. :: Monad m
  2. => a -> b -> c -> d -> e -> m f
  3. -> m a
  4. -> m b
  5. -> m c
  6. -> m d
  7. -> m e
  8. -> m f
#