Implicações de foldr vs. foldl (ou foldl ')
Primeiramente,Mundo Real Haskell, que estou lendo, diz para nunca usarfoldl
e usefoldl'
. Então eu confio nisso.
Mas estou confuso sobre quando usarfoldr
vs.foldl'
. Embora eu possa ver a estrutura de como eles funcionam de maneira diferente, na minha frente, sou burra demais para entender quando "o que é melhor". Acho que me parece que realmente não deveria importar o que é usado, pois ambos produzem a mesma resposta (não é?). De fato, minha experiência anterior com esse construto é de Rubyinject
e Clojurereduce
, que parecem não ter as versões "esquerda" e "direita". (Pergunta secundária: qual versão eles usam?)
Qualquer insight que possa ajudar um tipo de smarts desafiado como eu seria muito apreciado!