Si una función f puede ser expresada como foldr y como foldl:
f = foldr (<<) e f = foldl (>>) e
entonces, por el tercer teorema de homomorfismo, existe algún operador binario asociativo op tal que
f [] = e f (xs ++ ys) = op (f xs) (f ys)
En otras palabras, existe una operación que separa la lista a procesar; tal operación permite realizar el cálculo en paralelo.
Constructing List Homomorphism from Left and Right Folds (Shin-Cheng Mu, Institute of Information Science, Taiwan) explora el problema de encontrar op a partir de (<<), (>>) y e.
Relacionados:
No user responded in this post
Leave A Reply
Nota: La moderación de comentarios está activada; no hace falta volver a enviar los comentarios.