> 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