-
Notifications
You must be signed in to change notification settings - Fork 14
Home
Nathan Ridley edited this page Jan 28, 2018
·
20 revisions
See the project board for progress and current priorities.
- Six primary collection types: list, red-black tree, map, set, and sorted variants of the latter two
- Optimisation of the list structure as per #19
- Proper performance testing setup
- Documentation
- API normalization between the different structures
- 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 may offer some great opportunities for creating much faster versions of the above when interop ceases to be an issue.
I'd love to see Collectable not only become a drop-in alternative to Immutable.js, but even eventually become one of the main players in that space, with functionality that is not available anywhere else.