The aatree project provides fully compatible alternatives to Clojure sorted-map, sorted-set and vector, with several extensions:
- AAVector supports add/drop at any point using addn and dropn.
- AAMap and AASet implement Reversible, Counted, Indexed and Sorted
- CountedSequence implements Counted and do not use synchronized.
- Lazy deserialization/reserialization provides ridiculously fast deserialize/update/reserialize processing typical of disk access.
New in Release 0.4.1:
- Calf is a Copy-On-Write (COW) database with a severe size limit--everything must fit in memory. It works by alternately writing to two different blocks on disk. Each block contains a transaction count and a checksum, so when opening the database the oldest valid block is used. The contents of the database is a lazily deserializing sorted map.
https://github.com/laforge49/aatree#readme