So You Want to be a Functional Programmer (Part 4)
Charles Scalfani

I really enjoyed this lesson, though I would like to suggest that in your example for the reduce function you should re-name the parameter start to something like startTotal or startValue. The reason why is that the first time I read the example I had assumed start was a starting index of the passed array.

IE: reduce = (f, startingIndex, array) =>

for( i = startingIndex; i < array.length; i++)

//do something

I know that this isn’t how you structured the example function, and a good counter argument is simply, “well, you need to learn how to read code”, and I get that. But as someone who is so used to reading code day in and day out, it is hard to not assume a parameter’s implied intent or meaning simply from its name.

Otherwise, I’ve loved this series so far and I love how you explain everything simply, yet thoroughly. If ever I don’t understand a concept immediately (like currying, for example), just by re-reading the lesson and the example code I can figure it out, and I really appreciate that!