[Haskell-cafe] foldr (.) id

Tony Morris tonymorris at gmail.com
Sat Oct 27 01:01:37 CEST 2012


It's the Endo monoid.

?> :t ala Endo foldMap -- see newtype package
ala Endo foldMap :: Foldable t => t (a -> a) -> a -> a
?> ala Endo foldMap [(+1), (*2)] 8
17
?> :i ala
ala ::
  (Newtype n o, Newtype n' o') =>
  (o -> n) -> ((o -> n) -> b -> n') -> b -> o'
      -- Defined in Control.Newtype


On 27/10/12 04:41, Greg Fitzgerald wrote:
> Hi Haskellers,
>
> I've recently found myself using the expression: "foldr (.) id" to compose
> a list (or Foldable) of functions.  It's especially useful when I need to
> map a function over the list before composing.  Does this function, or the
> more general "foldr fmap id", defined in a library anywhere?  I googled and
> hoogled, but no luck so far.
>
> Thanks,
> Greg
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe


-- 
Tony Morris
http://tmorris.net/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121027/9f63afa3/attachment.htm>


More information about the Haskell-Cafe mailing list