top | item 32335104

(no title)

kephasp | 3 years ago

Of course I use combinators more often than I write recursive functions. But if someone finds recursion less readable, I still think they're missing something crucial.

And I don't think recursion is a GOTO that should be avoided. It's a useful tool that's easy to read and reason about.

discuss

order

grumpyprole|3 years ago

I agreed with your parent post and upvoted you, but too many inexperienced with functional programming claim it is all (or too much) recursion. I think this should be challenged.

Yes recursion is a useful tool, just like GOTO and is sometimes necessary or more practical. But it is better to e.g. use a fold if you can because that further constrains and aids reasoning. For example, a fold will always terminate unlike general recursion.

I recommend looking into recursion schemes, if you aren't familiar with them.

kephasp|3 years ago

I read about them a few times, but I never saw them proposed as the main access to recursion. Are there examples of that use?