Edison: A Library of Efficient Data Structures

(Haskell Version 1.0)

I am pleased to release a library of efficient data structures for Haskell, named Edison both in honor of Thomas Alva Edison and for the mnemonic value of EDiSon (Efficient Data Structures). I intend to eventually release a version of the library for Standard ML. Other future possibilities include O'Caml, Scheme, and Java.

The intention of the library is to provide several families of abstractions, each with multiple implementations, along with guidance on how to choose the best implementation for your particular application. The families of abstractions I have in mind initially are sequences, finite maps, priority queues, and sets/bags.

Note that, in its current state, the library is mostly a framework. That is, I provide signatures, but not yet very many implementations. I intend to populate this framework over time, adding a new module every few weeks. Thus, the library is extremely unstable in the sense that I will continually be modifying existing data structures and adding new ones. However, I hope that the signatures will remain fairly stable over time, making these changes to the implementations mostly transparent to users of the library.

If you think you might be interested in contributing any modules, please send me mail.



E-mail all comments and suggestions to cdo@cs.columbia.edu.