Quindi continuo a sentire molto sulla programmazione senza punti e ho deciso di fare un piccolo esperimento per testare la mia comprensione. Ciò comportava l'assunzione di una funzione appuntita per calcolare il fattoriale di un numero e convertirlo in una forma senza punti. Sono riuscito a farlo, ma il risultato point free è molto meno leggibile del risultato a punta.Notazione senza punto, ricorsione e corrispondenza di modelli
-- pointed
fact 0 = 1
fact n = n * (fact (n-1))
-- point free
fact' = foldr1 (*) . takeWhile ((<) 0) . iterate (flip (-) 1)
mi sto perdendo qualcosa di essenziale per puntare la notazione libero o è questo come leggibile come certe trasformazioni ottenere? Per me sembra che una grande parte della funzione fact
sia la corrispondenza del modello su zero, e infatti, la corrispondenza dei pattern è uno dei motivi principali per cui amo Haskell. Tuttavia la notazione punto-punto sembra completamente non consentire ciò, insieme ad alcune altre cose che sono estremamente utili come la comprensione delle liste.
preferisco 'prodotto. enumFromTo 1'. – Vitus
[Evoluzione di un programmatore Haskell] (http://www.willamette.edu/~fruehr/haskell/evolution.html) – sdcvvc
Attendere. Ti aspettavi _readability_ dalla sintassi _point-free_? Ha. Haha. Ha ha ha ha ha. No. –