(a -> m b) -> m a -> mb

(=<<) :: Monad m => (a -> m b) -> m a -> m b
base Prelude, base Control.Monad
Same as >>=, but with the arguments interchanged.
(>>=) :: Monad m => m a -> (a -> m b) -> m b
base Prelude, base Control.Monad, base Control.Monad.Instances
bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
base Control.Exception.Base, base Control.Exception
When you want to acquire a resource, do some work with it, and then release the resource, it is a good idea to use bracket, because bracket will install the necessary exception handler to release the resource in the event that an exception is raised during the computation. If an exception is raised, then bracket will re-raise the exception (after performing the release). A common example is opening a file: > bracket > (openFile "filename" ReadMode) > (hClose) > (\fileHandle -> do { ... }) The arguments to bracket are in this order so that we can partially apply it, e.g.: > withFile name mode = bracket (openFile name mode) hClose
bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
base Control.OldException
When you want to acquire a resource, do some work with it, and then release the resource, it is a good idea to use bracket, because bracket will install the necessary exception handler to release the resource in the event that an exception is raised during the computation. If an exception is raised, then bracket will re-raise the exception (after performing the release). A common example is opening a file: > bracket > (openFile "filename" ReadMode) > (hClose) > (\handle -> do { ... }) The arguments to bracket are in this order so that we can partially apply it, e.g.: > withFile name mode = bracket (openFile name mode) hClose
bracketOnError :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
base Control.Exception.Base, base Control.Exception
Like bracket, but only performs the final action if there was an exception raised by the in-between computation.
bracketOnError :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
base Control.OldException
Like bracket, but only performs the final action if there was an exception raised by the in-between computation.
concatMap :: (a -> [b]) -> [a] -> [b]
base Prelude, base Data.List
Map a function over a list and concatenate the results.
bindQ :: Q a -> (a -> Q b) -> Q b
template-haskell Language.Haskell.TH.Syntax
(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> (a -> m c)
base Control.Monad
Right-to-left Kleisli composition of monads. (>=>), with the arguments flipped
(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
base Control.Monad
Left-to-right Kleisli composition of monads.
concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
base Data.Foldable
Map a function over all the elements of a container and concatenate the resulting lists.
mapM_ :: Monad m => (a -> m b) -> [a] -> m ()
base Prelude, base Control.Monad
mapM_ f is equivalent to sequence_ . map f.
($|) :: (a -> b) -> Strategy a -> a -> b
parallel Control.Parallel.Strategies
Sequential function application. The argument is evaluated using the given strategy before it is given to the function.
($||) :: (a -> b) -> Strategy a -> a -> b
parallel Control.Parallel.Strategies
Parallel function application. The argument is evaluated using the given strategy, in parallel with the function application.
forM_ :: Monad m => [a] -> (a -> m b) -> m ()
base Control.Monad
forM_ is mapM_ with its arguments flipped
withStrategy :: Strategy a -> a -> a
parallel Control.Seq
Evaluate a value using the given strategy. This is simply using with arguments reversed.
withStrategy :: Strategy a -> a -> a
parallel Control.Parallel.Strategies
evaluate a value using the given Strategy. This is simply using with the arguments reversed.
makeStateVar :: IO a -> (a -> IO ()) -> StateVar a
OpenGL Graphics.Rendering.OpenGL.GL.StateVar
Construct a StateVar from two IO actions, one for reading and one for writing.
using :: a -> Strategy a -> a
parallel Control.Parallel.Strategies
Evaluate a value using the given Strategy. > x `using` s = runEval (s x)
using :: a -> Strategy a -> a
parallel Control.Seq
Evaluate a value using the given strategy.

Show more results