On Wed, 11 Mar 2009, R J wrote:

foldl and foldr are defined as follows:

  foldr                :: (a -> b -> b) -> b -> [a] -> b
  foldr f e []         =  e
  foldr f e (x : xs)   =  f x (foldr f e xs)

  foldl                :: (b -> a -> b) -> b -> [a] -> b
  foldl f e []         =  e
  foldl f e (x : xs)   =  foldl f (f e x) xs

1.  I understand how these definitions work, and yet I'm unable to implement 
foldl in terms
of foldr.  What's a systematic approach to identifying such an implementation, 
and what is
the implementation?

You are lucky, I recently wrote
  http://haskell.org/haskellwiki/Foldl_as_foldr
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to