All the collections on earth do not have to be loaded in the default Pharo image!
Beside a small kernel, we should have well packaged, well tested and documented collections: Containers is this modular library.
This project is to collect, clean, test and document alternate collections and data-structures. Each package is modular so that users can only load the collection they need without 100 of related collections. The vision is to think modular.
“Containers” currently includes:
- Array2D https://github.com/Ducasse/Containers-Array2D
- KeyedTree https://github.com/Ducasse/Containers-KeyedTree
- Queuehttps://github.com/Ducasse/Containers-Queue
- Environment https://github.com/Ducasse/Containers-PropertyEnvironment
- Grid https://github.com/Ducasse/Containers-Grid
- Zipper https://github.com/Ducasse/Containers-Zipper
- OrderedMultimap https://github.com/Ducasse/Containers-OrderedMultimap
- SkipList https://github.com/Ducasse/Containers-SkipList
- LinkedList https://github.com/Ducasse/Containers-LinkedList
All packages follow the same structure
- Containers-XXX,
- have tests, examples,
- class names start with CT,
- They can be loaded without class names.
Underway development
- BTree
- Tree
External projects
Some existing data structure may want to be listed as part of Containers. It is easy I can create a package for them and package them to follow the conventions.
- Rope?
- DataFrame?
Missing
- BitArray
- …
If you want to participate, you are welcome.
You can
- Publish your own container
- Help document better the existing ones
- Improve the design and API of certain data structures
S. Ducasse
Advertisements