Hoogle Search

Within LTS Haskell 24.32 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)

    base Control.Monad

    Map each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see mapM_.

    Examples

    mapM is literally a traverse with a type signature restricted to Monad. Its implementation may be more efficient due to additional power of Monad.

  2. mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()

    base Control.Monad

    Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see mapM. mapM_ is just like traverse_, but specialised to monadic actions.

  3. mapException :: (Exception e1, Exception e2) => (e1 -> e2) -> a -> a

    base Control.Exception

    This function maps one exception into another as proposed in the paper "A semantics for imprecise exceptions".

  4. mapException :: (Exception e1, Exception e2) => (e1 -> e2) -> a -> a

    base Control.Exception.Base

    This function maps one exception into another as proposed in the paper "A semantics for imprecise exceptions".

  5. mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()

    base Data.Foldable

    Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see mapM. mapM_ is just like traverse_, but specialised to monadic actions.

  6. mappend :: Monoid a => a -> a -> a

    base Data.Monoid

    An associative operation NOTE: This method is redundant and has the default implementation mappend = (<>) since base-4.11.0.0. Should it be implemented manually, since mappend is a synonym for (<>), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid.

  7. mapAccumL :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)

    base Data.Traversable

    The mapAccumL function behaves like a combination of fmap and foldl; it applies a function to each element of a structure, passing an accumulating parameter from left to right, and returning a final value of this accumulator together with the new structure.

    Examples

    Basic usage:
    >>> mapAccumL (\a b -> (a + b, a)) 0 [1..10]
    (55,[0,1,3,6,10,15,21,28,36,45])
    
    >>> mapAccumL (\a b -> (a <> show b, a)) "0" [1..5]
    ("012345",["0","01","012","0123","01234"])
    

  8. mapAccumM :: (Monad m, Traversable t) => (s -> a -> m (s, b)) -> s -> t a -> m (s, t b)

    base Data.Traversable

    The mapAccumM function behaves like a combination of mapM and mapAccumL that traverses the structure while evaluating the actions and passing an accumulating parameter from left to right. It returns a final value of this accumulator together with the new structure. The accumulator is often used for caching the intermediate results of a computation.

    Examples

    Basic usage:
    >>> let expensiveDouble a = putStrLn ("Doubling " <> show a) >> pure (2 * a)
    
    >>> :{
    mapAccumM (\cache a -> case lookup a cache of
    Nothing -> expensiveDouble a >>= \double -> pure ((a, double):cache, double)
    Just double -> pure (cache, double)
    ) [] [1, 2, 3, 1, 2, 3]
    :}
    Doubling 1
    Doubling 2
    Doubling 3
    ([(3,6),(2,4),(1,2)],[2,4,6,2,4,6])
    

  9. mapAccumR :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)

    base Data.Traversable

    The mapAccumR function behaves like a combination of fmap and foldr; it applies a function to each element of a structure, passing an accumulating parameter from right to left, and returning a final value of this accumulator together with the new structure.

    Examples

    Basic usage:
    >>> mapAccumR (\a b -> (a + b, a)) 0 [1..10]
    (55,[54,52,49,45,40,34,27,19,10,0])
    
    >>> mapAccumR (\a b -> (a <> show b, a)) "0" [1..5]
    ("054321",["05432","0543","054","05","0"])
    

  10. mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)

    base Data.Traversable

    Map each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see mapM_.

    Examples

    mapM is literally a traverse with a type signature restricted to Monad. Its implementation may be more efficient due to additional power of Monad.

Page 84 of many | Previous | Next