Во-первых, Real World Haskell , который я читаю, говорит никогда не использовать, foldlа вместо этого использовать foldl'. Поэтому я верю в это.
Но я не знаю, когда использовать foldrпротив foldl'. Хотя я вижу структуру их работы по-разному, но я слишком глуп, чтобы понять, когда «что лучше». Я думаю, мне кажется, что не должно иметь значения, какой из них используется, поскольку они оба дают один и тот же ответ (не так ли?). Фактически, мой предыдущий опыт работы с этой конструкцией был взят из Ruby injectи Clojure reduce, которые, похоже, не имеют «левой» и «правой» версий. (Дополнительный вопрос: какую версию они используют?)
Любое понимание, которое может помочь таким умным людям, как я, будет высоко ценится!

