Partitioned Enclose

is a dyadic function which splits its right argument into differently sized pieces as determined by the left argument.

Basic functionality
In the simplest case, and on a vector right argument, the corresponding element in the left argument indicates where divisions begin:

Non-Boolean left argument
Almost all dialects restrict the left argument to provide only the above functionality. However, the left argument can be interpreted as a count of how many partitions begin with a particular position:

Short left argument
The dialects that support this extension also allow omission of trailing zeros, which is useful if the partitioning vector is generated by where's inverse:

Long left argument
Additional trailing empty divisions are created by adding an additional division count corresponding to the position beyond the end of the right argument:

Split into lengths
This above extensions allow a simple definition of a split-into-lengths function:

Try it online!

Tutorials

 * APL Cultivation

Documentation

 * Dyalog