I've implemented a skip list that works in the STM monad. A skip list is a probabilistic data structure similar to a balanced tree. The main advantage of a skip list is that it doesn't require rebalancing, making it particularly suitable for concurrent programming.
Here are the docs: http://darcs.monoid.at/tskiplist/dist/doc/html/tskiplist/Control-Concurrent-STM-TSkipList.html It's not yet on hackage as the implementation is very incomplete and mostly untested. However, you can download a cabalized package from here: http://darcs.monoid.at/tskiplist/dist/tskiplist-0.0.0.tar.gz Darcs repository: http://darcs.monoid.at/tskiplist/ Peter _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe