
On request of Milan, this is a follow up proposal to
http://www.haskell.org/pipermail/libraries/2011-May/016362.html
Here is what this patch specifically implements:
- Shared representation between lazy and strict variants - Lazy/Strict modules exporting appropriate operations for each
There is an alternative version of this patch which Milan favors, where we do not have a separate Data.IntMap.Lazy, and all that code lives in Data/IntMap.hs. This will require a circular import if we don't want to break BC and not duplicate the strict functions which still need to be exported.
Hm, these complications did not occur to me :) But we can use your patch implementation and just leave Data.IntMap.Lazy hidden. My motivation for having Data.IntMap and Data.IntMap.Strict without Data.IntMap.Lazy was not to have two modules with same content (Data.IntMap and Data.IntMap.Lazy) and also to clearly indicate to beginners what to use -- Data.IntMap. But maybe others feel differently.
Please vote yes as is, yes with Milan's modification, or no. Discussion period: two weeks.
yes with Milan's modifications for me, please :) Cheers, Milan