SplittablesBase.jl defines a simple set of APIs:
halve(collection): splitting givencollectionroughly in half.amount(collection): an "approximation" oflength.
These are the basis of parallel algorithms that can be derived from reduce. Custom containers can support many parallel algorithms by simply defining these functions.
SplittablesTesting.jl provides simple test utility functions SplittablesTesting.test_ordered(examples) and SplittablesTesting.test_unordered(examples) that run some automatable tests with each example container in examples.
See more in the documentation.
halve methods for following collections in Base are implemented in SplittablesBase.jl:
AbstractArrayAbstractStringDictkeys(::Dict)values(::Dict)SetTupleNamedTuplezippairsBase.GeneratorIterators.filterIterators.flattenIterators.partitionIterators.productIterators.enumerateIterators.reverseskipmissing