Alternatively: flip (foldr id)
Very cool, but... Prelude> import qualified Data.Foldable as F Prelude F> :t F.foldr id F.foldr id :: F.Foldable t => b -> t (b -> b) -> b {- Generalizing -} Prelude F> import qualified Control.Category as C Prelude F C> :t F.foldr (C..) C.id F.foldr (C..) C.id :: (F.Foldable t, C.Category cat) => t (cat b b) -> cat b b {- Sneaky type-specialization -} Prelude F C> :t F.foldr C.id F.foldr C.id :: F.Foldable t => b -> t (b -> b) -> b On Sat, Oct 27, 2012 at 3:09 AM, Ross Paterson <ross@soi.city.ac.uk> wrote:
On Fri, Oct 26, 2012 at 07:41:18PM +0100, Greg Fitzgerald wrote:
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.
Alternatively: flip (foldr id)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe