Jump to content

Talk:Fold (higher-order function)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by TuukkaH (talk | contribs) at 01:40, 27 August 2006 (foldl and foldr mistakes). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

foldl and foldr

I see, the paragraph about foldl and foldr has nicely the facts correct and conclusions all wrong, but I don't want to think about the correct examples right now.

Concatenation is not commutative, right, but it still doesn't matter whether foldl or foldr is used, because concatenation is still associative.

Foldr "starts" from the right, right, but that's still the correct fold for infinite lists because the lazy processing starts to produce co-data from the "end" (outer scope). You can try with

foldr (:) [] [1..]
foldr (&&) True ([True,False] ++ repeat True) 

--TuukkaH 01:40, 27 August 2006 (UTC)[reply]