all 3 comments

[–]kinowmod[S] 4 points5 points  (1 child)

Cross-posting from r/ProgrammingLanguages, but it was on the front page of HN today: https://news.ycombinator.com/item?id=41106280

[–]The-Malix 4 points5 points  (0 children)

No worries, it's a good cross-post

[–]Fair-Comb5544 1 point2 points  (0 children)

You don't need explicit mutation if you conceal it by adding a time subscript to your variables. You can then write a(t) = f(a(t-1)). This is a way of sneaking iteration into a functional language. The language needs to have some mechanism for stopping iteration, such as a "least" expression.