aymannadeem/foldilocks

sumFold example could be clearer with foldr

Opened this issue · 0 comments

tov commented

I wonder if the sumFold example would be clearer if it were written using foldr instead of with foldl. In particular, because sumManual is written with the same kind of recursion as foldr, this would be easier to see:

Turns out, the definition of foldl contains all of that sweet recursive machinery needed to power our manual sum function:

foldr f z []     = z
foldr f z (x:xs) = x `f` foldr f z xs

sumManual []     = 0
sumManual (x:xs) = x  +  sumManual xs

See how well they line up?

(I really enjoy how this is written overall.)