How to call the same function ‘n’ times? [duplicate]

iterate is a common solution:

> :t iterate
iterate :: (a -> a) -> a -> [a]

So, given a function with a domain the same as its range, a -> a, and an initial input a, produce an infinite list of results in the form:

iterate f a --> [a, f(a), f(f(a)), ...]

And you can access the nth element of the list using !!:

iterate f a !! n

NB iterate f a !! 0 == a.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)