[Haskell-cafe] foldlWhile
Serge D. Mechveliani
mechvel at botik.ru
Mon Nov 22 01:41:47 EST 2004
To my question of
>> foldlWhile :: (a -> b -> a) -> (a -> Bool) -> a -> [b] -> a
>> foldlWhile f p a bs =
>> case
>> (bs, p a)
>> of
>> ([], _ ) -> a
>> (_, False) -> a
>> (b:bs', _ ) -> foldlWhile f p (f a b) bs'
>>
>> foldl does not seem to cover this.
Dylan Thurston wrote: On Nov 20, 2004
> An alternative is
>
> foldlWhile f p a bs = last $ takeWhile p $ scanl f a bs
>
Yes. Thank you.
Inspecting Prelude, we find out that scanl expresses, mainly,
the thing.
-----------------
Serge Mechveliani
mechvel at botik.ru
More information about the Haskell-Cafe
mailing list