İlk olarak, okuduğum Gerçek Dünya Haskell asla kullanmamayı foldl
ve kullanmamayı söylüyor foldl'
. Bu yüzden ona güveniyorum.
Ama ne zaman kullanacağım konusunda foldr
pusluyum foldl'
. Onların önümde farklı bir şekilde nasıl çalıştıklarının yapısını görebilsem de, "hangisinin daha iyi" olduğunu anlamayacak kadar aptalım. Sanırım her ikisi de aynı cevabı ürettiklerinden hangisinin kullanıldığının önemli olmaması gerektiği gibi görünüyor (değil mi?). Aslında, bu yapı ile ilgili önceki deneyimim "sol" ve "sağ" versiyonlara sahip görünmeyen Ruby's inject
ve Clojure's reduce
. (Yan soru: hangi sürümü kullanıyorlar?)
Benim gibi akıllara meydan okuyan bir tür yardımcı olabilecek herhangi bir fikir çok takdir edilecektir!