
Milan, where's the libraries ticket for these extensions? Please follow the libraries submission process: http://www.haskell.org/haskellwiki/Library_submissions#Creating_a_proposal Do *not* just push patches to containers without review! Please provide a ticket, and *the actual patch* you wish to push. fox:
Hi,
the Set, and IntSet have one 'fold' that does not specify order of folding (but in fact are right folds).
Map and IntMap have 'fold' and 'foldWithKey' which is a right fold (and documented as such).
Recently foldrWithKey and foldlWithKey was added to Data.Map (foldWithKey is deprecated and a synonymous for foldrWithKey).
There are two thinks to sort out: a) add left/right folds, b) add strict folds.
I therefore propose to: a) add foldrWithKey and foldlWithKey to IntMap, make foldWithKey deprecated and synonymous for foldrWithKey. b) add foldl and foldr to Set and IntSet, make fold deprecated and synonymous to foldr. c) add strict variants of left and right folds, namely Data.Map, Data.IntMap: foldlWithKey' foldrWithKey' Data.Set, Date.IntSet: foldl', foldr'
Some issues: - should we really rename fold -> foldr? Maybe we could cla that fold and foldWithKey are right folds and add only foldl and foldlWithKey. - should we really deprecate fold and foldWithKey? It could break a lot of code. - adding foldl, foldr, foldl' and foldr' to Set and IntSet is going to cause a lot of trouble because of shadowing. Maybe some better name? On the other hand, these are the "right" names.
Discussion period: three weeks (because of ICFP). Discussion ends: 15th Oct.
Milan _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries