[Haskell-cafe] f^n for functional iteration

Danny Gratzer danny.gratzer at gmail.com
Tue Dec 10 16:51:51 UTC 2013


Well (^) is already used for their traditional meaning and using this exact
operator would require

  1. Shadowing (^) from prelude
  2. Making (a -> a) an instance of Num (impossible to do sanely)

You can just use a different operator

    f .^. n = foldl (.) id $ replicate n f

    main = print . (+1) .^. 5 $ 1

Will print 6


Cheers,
Danny Gratzer


On Tue, Dec 10, 2013 at 10:45 AM, Doug McIlroy <doug at cs.dartmouth.edu>wrote:

> Is there a trick whereby the customary notation f^n for iterated
> functional composition ((\n f -> foldl (.) id (replicate n f)) n f) can
> be defined in Haskell?
>
> Doug McIlroy
> _______________________________________________
> 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/20131210/4d648f5d/attachment.html>


More information about the Haskell-Cafe mailing list