[PATCH] Split Data.IntMap into Data.IntMap.Strict and Data.IntMap.Lazy.

Milan Straka fox at ucw.cz
Fri Sep 16 22:22:19 CEST 2011


> 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



More information about the Libraries mailing list