GlossaryΒΆ
- link
- linking
- The combination of multiple chainlinks to form a compound link.
- chunk
- data chunk
- The smallest piece of data passed along individually.
There is no restriction on the size or type of chunks:
A chunk may be a primitive, such as an
int
, a container, such as adict
, or an arbitraryobject
. - stream
- data stream
An iterable of data chunks. It is implicitly passed along a chain, as chainlinks operate on its individual chunks.
The stream is an abstract object and never implicitly materialized by
chainlet
. For example, it can be an actual sequence, an (in)finite generator, or created piecewise viasend()
.- stream slice
- A portion of the data stream, containing multiple adjacent data chunks. Slices are the underlying unit of chunks passing through a chainlink: a slice may shrink or expand as elements remove or add items, retaining the order of chunks.
- chainlet
- An atomic chainlink. The most primitive elements capable of forming chains and bundles.
- chainlink
- Primitive and compound elements from which chains can be formed.
- compound link
A group of chainlinks, which can be used as a whole as elements in chains and bundles.
The chain and bundle are the most obvious forms, created implicitly by the
>>
operator.- chain
- A chainlink consisting of a sequence of elements to be processed one after another. The output of a chain is one data chunk for every successful traversal.
- bundle
- A chainlink forming a group of elements which process each data chunk concurrently. The output of a bundle are zero or many data chunks for every successful traversal.
- flat chain
- A chain consisting only of primitive elements.
- fork
- forking
- Splitting of the data flow by a chainlink. A chainlink which forks may produce multiple data chunks, each of which are passed on individually.
- join
- joining
- Merging of the data flow by a chainlink. A chainlink which joins may receive multiple data chunks, all of which are passed to it at once.
- branch
- A processing sequence that is traversed concurrently with others.
- branching
- Splitting of the processing sequence into multiple branches. Usually implies a fork.
- merging
- Combining of multiple branches into one. Usually implies a join.