Skip to content
Nathan Ridley edited this page Jan 28, 2018 · 20 revisions

Road Map

See the project board for progress and current priorities.

1.0

  • Six primary collection types: list, red-black tree, map, set, and sorted variants of the latter two
  • Proper performance testing setup
  • Documentation
  • API normalization between the different structures

Beyond 1.0

  • Optimisation of the list structure as per #19
  • Potential revision of some of the API design choices in SortedMap/SortedSet
  • More data structures

Ideas for additional collection types, mostly able to be backed by other underlying data structures in Collectable.js (some as analogs to Immutable.js, for completeness):

  • Range (sequential vs random)
  • Lazy sequences (relation to the original projections idea?)
  • Queue (standard vs priority)
  • Stack
  • Repeat
  • Record

Other raw data structures for advanced use as needed:

  • AVL tree for when reads are much more frequent than writes
  • Finger tree for more interesting BST-based scenarios
  • Cuckoo filter
  • Suffix tree
  • Splay tree
  • B-tree
  • B+ tree
  • Octree/Quadtree/RTree (spatial querying; see also)

More ideas for data structures can be found here.

WASM/Rust may offer some great opportunities for creating much faster versions of the above when WASM-JS interop ceases to be a performance issue.

Clone this wiki locally