Articles of fold

Diferencia entre doblar y doblar hacia la izquierda o doblar hacia la derecha?

NOTA: estoy en Scala 2.8: ¿puede ser un problema? ¿Por qué no puedo usar la función de fold la misma manera que foldLeft o foldRight ? En el conjunto scaladoc dice que: El resultado del plegado puede ser solo un supertipo del parámetro de tipo T de esta colección paralela. Pero no veo ningún parámetro […]

¿Qué constituye un pliegue para tipos distintos de la lista?

Considere una lista de enlaces únicos. Se ve algo así como data List x = Node x (List x) | End Es natural definir una función de plegado como reduce :: (x -> y -> y) -> y -> List x -> y En cierto sentido, reduce f x0 reemplaza cada Node con f y […]

Escribir foldl usando foldr

En Real World Haskell , Capítulo 4. Progtwigción funcional Escribe foldl con foldr: — file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl fz xs = foldr step id xs z where step xga = g (fax) El código anterior me confundió mucho, y un tipo llamado dps […]

¿Reducir, doblar o escanear (izquierda / derecha)?

¿Cuándo debo usar reduceLeft , reduceRight , foldLeft , foldRight , scanLeft o scanRight ? Quiero una intuición / visión general de sus diferencias, posiblemente con algunos ejemplos simples.

Implicaciones de foldr vs. foldl (o foldl ‘)

En primer lugar, Real World Haskell , que estoy leyendo, dice que nunca uses foldl y en su lugar utilices foldl’ . Así que confío en eso. Pero no entiendo cuándo usar foldr vs. foldl’ . Aunque puedo ver la estructura de cómo funcionan de forma diferente frente a mí, soy demasiado estúpido para entender […]