Proposal: Add strict versions of foldlWithKey and insertLookupWithKey to Data.Map

Johan Tibell johan.tibell at gmail.com
Fri Sep 3 10:14:41 EDT 2010


On Fri, Sep 3, 2010 at 8:46 AM, Brian Bloniarz <brian.bloniarz at gmail.com>wrote:

> On Sun, 29 Aug 2010 15:34:29 +0200
> Johan Tibell <johan.tibell at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/libraries/attachments/20100903/e33ffcd9/attachment.html


More information about the Libraries mailing list