[Haskell-cafe] foldr (.) id
Greg Fitzgerald
garious at gmail.com
Sat Oct 27 20:39:24 CEST 2012
> 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 at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121027/2816226c/attachment.htm>
More information about the Haskell-Cafe
mailing list