
On Fri, Sep 3, 2010 at 8:46 AM, Brian Bloniarz
On Sun, 29 Aug 2010 15:34:29 +0200 Johan Tibell
wrote: Proposal: Add strict versions of foldlWithKey and insertLookupWithKey to Data.Map
+1, insertLookupWithKey' I could have used recently.
Is there some reason why all the other WithKey functions don't require strict variants? Asked another way, suppose I want to build a Map via foldl' (unionWith (+)) without space leaks, is that possible?
No reason, expect that I didn't have a need for it. Every function that takes a higher-order argument that combines two values needs a strict variant. I would like to go over the whole API at some point and see if it could be simplified somehow, without breaking any packages. The API is overly complicated an provides lots of functions with overlapping behavior. To do this properly I need to first build all of Hackage and create an index which I can use to find all calls to function in Data.Map. Any function that's not called at all would be a candidate for removal. Cheers, Johan