On Fri, Sep 3, 2010 at 8:46 AM, Brian Bloniarz <brian.bloniarz@gmail.com> wrote:
On Sun, 29 Aug 2010 15:34:29 +0200
Johan Tibell <johan.tibell@gmail.com> 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