Bug in Data.Map
Jim Apple
jbapple+haskell-lib at gmail.com
Tue Aug 3 23:28:07 EDT 2010
Even the original paper (1973) describing trees of bounded balance had
a bug! I think it is fair to describe maintaining balance in BBSTs as
"subtle".
Some ideas that might help:
1. http://www.brics.dk/BRICS/ALCOM-FT/TR/ALCOMFT-TR-01-167.html
2. This seems like a place where calling in a theorem prover might be
appropriate:
(a) The operations are tricky
(b) The data structure is very important
(c) Coq has done similar work before:
http://www.lri.fr/~filliatr/fsets/ (The performance suffered, but I
think all of that can be alleviated with Coq's updated extraction
mechanism. Pragmas necessary for performance would still need to be
inserted after extraction.)
On Tue, Aug 3, 2010 at 4:59 PM, Daniel Peebles <pumpkingod at gmail.com> wrote:
> Deletion in Data.Map does not always preserve the balance of a tree.
More information about the Libraries
mailing list