On Wed, Jan 27, 2010 at 12:05 AM, Eduard Sergeev
<[email protected]> 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:
> Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
> Haskell-Cafe mailing list
> [email protected]
Haskell-Cafe mailing list