Tout d'abord, Haskell dans le monde réel que je suis en train de lire, dit qu'il ne faut jamais utiliser foldl
au lieu de foldl'
. Je lui fais donc confiance.
Mais j'ai du mal à savoir quand utiliser foldr
vs. foldl'
. Bien que je puisse voir la structure de leur fonctionnement différent étalée devant moi, je suis trop stupide pour comprendre quand "lequel est le meilleur". Je suppose qu'il me semble que cela ne devrait pas vraiment avoir d'importance de savoir lequel est utilisé, puisqu'ils produisent tous les deux la même réponse (n'est-ce pas ?). En fait, ma première expérience avec cette construction provient de Ruby's inject
et de Clojure reduce
qui ne semblent pas avoir de versions "gauche" et "droite". (Question secondaire : quelle version utilisent-ils ?)
Toute information susceptible d'aider une personne aussi peu intelligente que moi serait très appréciée.