[Haskell-cafe] f^n for functional iteration

Doug McIlroy doug at cs.dartmouth.edu
Thu Dec 12 03:37:43 UTC 2013


Agreeing with the analysis, I will sharpen my question.
Is option 2 possible at all, regardless of sanity concerns
(e.g. incomplete implementation of Num).

Doug

> On Tue, 10 Dec 2013 at 10:51 AM, Danny Gratzer <danny.gratzer at gmail.com> wrote
>
> 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
>
> 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


More information about the Haskell-Cafe mailing list