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 |