[Haskell-cafe] Folding function composition: L or R?

Graham Klyne gk at ninebynine.org
Wed Jul 7 06:39:42 EDT 2004

I have a sequence of functions that I wish to fold together using function 
composition (.).  Does it matter if I use foldl or foldr?


sss :: [ShowS]
sss = map (++) ["abc","def","ghi","jkl"]

ssr = foldr (.) id sss
ssl = foldl (.) id sss

sr = ssr ""
sl = ssl ""

-- sl == sr == "abcdefghijkl"
-- is there any efficiency difference?

Conventional wisdom suggests that foldr is better, but I'm not sure if it 
really matters in this case.


Graham Klyne
For email:

More information about the Haskell-Cafe mailing list