Proposal: Add left, right and strict folds to Data.Set, Data.IntMap and Data.IntSet to mimic Data.Map.

Milan Straka fox at ucw.cz
Tue Sep 14 12:32:43 EDT 2010


Hi,

see http://hackage.haskell.org/trac/ghc/ticket/4313.

The following text is the description of ticket 4313:

This proposal depends on #4278 and #4280.

In accordance with a poll on libraries at haskell.org (see point 3 of  http://article.gmane.org/gmane.comp.lang.haskell.libraries/13273) I propose to add strict folds to the containers.

The Data.Map is getting left, right and strict folds in #4278. This proposal adds left, right and strict folds for Set, IntMap and IntSet.

The naming is a bit tricky. The folds in IntMap mimics Map (ie. foldrWithKey, foldlWithKey, foldlWithKey'; fold and foldWithKey are deprecated in favor of foldrWithKey). The folds in Set and IntSet are classic (foldr, foldl, foldl'; the old fold is deprecated in favor of foldr).

The repository of the containers package with these patches (and also several others) is at  http://fox.auryn.cz/darcs/containers/.

The patches are also attached (including #4280).


More information about the Libraries mailing list