Proposal: alpha-rename the type signatures of foldl, foldl', and scanl to be consistent with foldr and scanr

Bas van Dijk v.dijk.bas at gmail.com
Fri Nov 9 11:32:05 CET 2012


Ian,

I think you missed some fixes in Data.Foldable from the original patch:

foldl :: (a -> b -> a) -> a -> t b -> a    to:
foldl :: (b -> a -> b) -> b -> t a -> b

foldl' :: (a -> b -> a) -> a -> t b -> a    to:
foldl' :: (b -> a -> b) -> b -> t a -> b

foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a    to:
foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b

On 9 November 2012 10:29, Bas van Dijk <v.dijk.bas at gmail.com> wrote:
> Hi,
>
> We should make this same change in Control.Monad:
>
> foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a    to:
> foldM :: Monad m => (b -> a -> m b) -> b -> [a] -> m b
>
> foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()    to:
> foldM_ :: Monad m => (b -> a -> m b) -> b -> [a] -> m ()
>
> Bas
>
> On 27 October 2012 22:07, Ian Lynagh <ian at well-typed.com> wrote:
>> On Sun, Oct 14, 2012 at 04:28:58PM +0200, Gábor Lehel wrote:
>>>
>>> I've attached a patch.
>>
>> I've applied the patch, and also the other agreed changes.
>>
>>
>> Thanks
>> Ian
>>
>>
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://www.haskell.org/mailman/listinfo/libraries



More information about the Libraries mailing list