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)

Reply via email to