GlossaryΒΆ

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 a dict, or an arbitrary object.
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 via send().

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.
Primitive and compound elements from which chains can be formed.

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.