Así que sigo oyendo mucho sobre la programación sin puntos y decidí hacer un pequeño experimento para probar mi comprensión. Esto implicaba tomar una función puntiaguda para calcular el factorial de un número y convertirlo en una forma libre de puntos. Logré hacerlo, pero el resultado sin puntaje es mucho menos legible que el resultado puntiagudo.Notación libre de puntos, recurrencia y coincidencia de patrones
-- pointed
fact 0 = 1
fact n = n * (fact (n-1))
-- point free
fact' = foldr1 (*) . takeWhile ((<) 0) . iterate (flip (-) 1)
¿Me falta algo esencial para señalar la notación libre o es tan legible como ciertas transformaciones? Para mí, parece que una gran parte de la función fact
es la coincidencia de patrones en cero, y de hecho, la coincidencia de patrones es una de las principales razones por las que amo a Haskell. Sin embargo, la notación libre de puntos parece no permitirlo por completo, junto con algunas otras cosas que son extremadamente útiles, como la comprensión de listas.
prefiero 'producto. enumFromTo 1'. – Vitus
[Evolución de un programador Haskell] (http://www.willamette.edu/~fruehr/haskell/evolution.html) – sdcvvc
Espera. ¿Esperaste _readability_ de _sintaxis sin puntos_? Decir ah. Jaja. Hahahahaha. No. –