Proposal: Add chop function to Data.List

Stefan Holdermans stefan at vectorfabrics.com
Tue Dec 14 11:40:38 CET 2010


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


More information about the Libraries mailing list