[Haskell-cafe] strange stack overflow with Data.Map
Christian Maeder
maeder at tzi.de
Mon Jan 2 13:55:11 EST 2006
Jean-Philippe Bernardy wrote:
> Yes, union suffers from the same problem; both in Set and Map as well.
In Data.Map "left-biasing" is correct wrt the values (but if "Map a ()"
should correspond to "Set a" then the keys need also be considered.)
> The testing code can now detect problems of left-biasing in presence
> of non-structural equality. (That's what I wanted to implement before
> applying the fix).
Good!
The problem in Data.Set seems to be limited to insert, union, unions,
intersection, fromList and fromAscList.
I find only union and intersection more problematic because biasing
depends on the size and is thus hard to predict (if needed).
Currently, Set.fromList is right-biased (and the only function that uses
Set.insert).
How about an additional left-biased function of type "Set a -> a -> Set
a"? What name for it?
C.
More information about the Libraries
mailing list