Or using the lens package:
>>> :m Data.Foldable Control.Lens Data.Monoid.Lens
>>> ala _endo foldMap [(+1), (*2)] 8
17
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:_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafeHi 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
-- Tony Morris http://tmorris.net/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe