Premièrement, Real World Haskell , que je lis, dit de ne jamais utiliser foldl
et d'utiliser à la place foldl'
. Alors je lui fais confiance.
Mais je suis brumeux quand utiliser foldr
contre foldl'
. Bien que je puisse voir la structure de leur fonctionnement différemment présentée devant moi, je suis trop stupide pour comprendre quand «ce qui est mieux». Je suppose qu'il me semble que peu importe ce qui est utilisé, car ils produisent tous les deux la même réponse (n'est-ce pas?). En fait, mon expérience précédente avec cette construction vient de Ruby inject
et Clojure reduce
, qui ne semblent pas avoir de versions «gauche» et «droite». (Question secondaire: quelle version utilisent-ils?)
Toute perspicacité qui peut aider une sorte intelligente comme moi serait très appréciée!