Pertama, Real World Haskell , yang saya baca, mengatakan untuk tidak pernah menggunakan foldl
dan sebaliknya menggunakannya foldl'
. Jadi saya percaya itu.
Tapi aku kabur pada saat menggunakan foldr
vs foldl'
. Meskipun saya dapat melihat struktur bagaimana mereka bekerja secara berbeda diletakkan di depan saya, saya terlalu bodoh untuk mengerti kapan "mana yang lebih baik." Saya kira menurut saya seharusnya tidak masalah yang digunakan, karena mereka berdua menghasilkan jawaban yang sama (bukan?). Sebenarnya, pengalaman saya sebelumnya dengan konstruksi ini adalah dari versi Ruby inject
dan Clojure reduce
, yang sepertinya tidak memiliki versi "kiri" dan "kanan". (Pertanyaan sampingan: versi apa yang mereka gunakan?)
Wawasan apa pun yang dapat membantu orang yang memiliki kecerdasan seperti saya akan sangat dihargai!