[Haskell-cafe] foldl in terms of foldr
vengeance.storm at gmail.com
Tue Jan 26 11:15:28 EST 2010
On Wed, Jan 27, 2010 at 12:05 AM, Eduard Sergeev
<Eduard.Sergeev at gmail.com> wrote:
> Neil Brown-7 wrote:
>> step is of type b -> (a -> a) -> (a -> a), which does agree with (a -> b
>> -> b)
> Not quite right..
> Let's rewite the function:
> myFoldl f z xs = foldr (step f) id xs z
> step f x g = \a -> g (f a x)
I am not very sure about this. This rewriting was my first reaction
against the original code but it failed compilation with GHC.
More over, does "foldr step f id xs z" equal to "foldr (step f) id xs z"??
> now (from ghci):
> step (+) :: (Num t1) => t1 -> (t1 -> t3) -> t1 -> t3
> or even:
> step (flip (:)) :: t -> ([t] -> t3) -> [t] -> t3
> But yes, the type from my first post was wrong
> View this message in context: http://old.nabble.com/foldl-in-terms-of-foldr-tp27322307p27325072.html
> Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe