Proposal: Add left, right and strict folds to Data.Set, Data.IntMap and Data.IntSet to mimic Data.Map.
This proposal depends on #4278 (closed) and #4280 (closed).
In accordance with a poll on libraries@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 (closed). 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 (closed)).
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.3 |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | libraries (other) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |