
14 Dec
2010
14 Dec
'10
10:38 a.m.
Yes, chop can be easily written in terms of unfoldr. But the chop function fits better with other existing list functions, like I tried to illustrate with my examples. -- Lennart On Tue, Dec 14, 2010 at 10:40 AM, Stefan Holdermans < stefan@vectorfabrics.com> wrote:
Henning,
I would like to propose the following function for inclusion in Data.List chop :: (a -> (b, [a]) -> [a] -> [b] chop _ [] = [] chop f as = b : chop f as' where (b, as') = f as
Is the difference between 'unfoldr' and 'chop' just the Maybe result type of f?
Yes.
chop f = unfoldr g where g [] = Nothing g as = Just (f as)
Cheers,
Stefan