[Haskell-cafe] f^n for functional iteration

Antonio Nikishaev me at lelf.lu
Fri Dec 13 14:59:26 UTC 2013


Doug McIlroy <doug at cs.dartmouth.edu> writes:

http://hackage.haskell.org/package/NumInstances

> 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