
22 Nov
2004
22 Nov
'04
7:17 a.m.
On Mon, Nov 22, 2004 at 09:41:47AM +0300, Serge D. Mechveliani wrote:
Yes. Thank you. Inspecting Prelude, we find out that scanl expresses, mainly, the thing.
Did you find a good replacement for the second function, foldWhileJust? Come to think of it, the way to do that would be to turn the accumulator to a function from Maybe a to Maybe a, like this: import Maybe(fromJust,isJust) foldWhileJust :: (a -> b -> Maybe a) -> a -> [b] -> a foldWhileJust f a = let f' :: Maybe a -> b -> Maybe a f' = maybe (const Nothing) f in fromJust . last . takeWhile isJust . scanl f' (Just a) Peace, Dylan