A Recurring Question

w0rp via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 18 16:19:46 PDT 2016


On Monday, 18 April 2016 at 12:02:24 UTC, thedeemon wrote:
> On Sunday, 17 April 2016 at 15:23:50 UTC, w0rp wrote:
>> auto unaryRecurrence(alias func, T)(T initialValue) {
>>     return recurrence!((values, index) =>  
>> func(values[0]))(initialValue);
>> }
>
>> This is kind of neat. My question is, should something like 
>> this function be included in std.range? Either way, it turned 
>> into an example of something cool you can do with D.
>
> It really looks like "iterate" combinator from Haskell's 
> standard library:
>
> iterate :: (a -> a) -> a -> [a] Source
>
> iterate f x returns an infinite list of repeated applications 
> of f to x:
> iterate f x == [x, f x, f (f x), ...]
>
> http://hackage.haskell.org/package/base-4.8.2.0/docs/Prelude.html#v:iterate
>
> (which could be a hint to stdlib-includability and naming)

If it's good enough for Haskell, maybe it's good enough for us. 
"iterate" does sound like a decent name.


More information about the Digitalmars-d mailing list