template<std::semiregular T, std::size_t K>
struct dedekind::category::AtMost< T, K >
Words over an alphabet as a tensor, not as a sequence: the tensor power \(\Sigma^n\) of a filtered alphabet, its symmetric sections, and the free monoid on it truncated below a length, each counted as a product of factors that never overflow where the total does. Periodicity above is invariance under a translation of the counts; a symmetry here is invariance under a permutation of the positions of a word.
periodic__Tensor_Powers
At most K values, held in place: a list whose length the type bounds, so it needs no heap. A cycle type and a tensor's factors are such lists, their length fixed by the shape and not by the word, so a count along a chain of them streams in constant memory. It is the list materialised, for where a value is asked for (returned, compared, handed to Python: the ext pattern); a list that is only folded stays a sequence, chain >> f, and is never built (#1133). Storage a combinator needs is automatic, as here; the heap appears only as state the caller passes in.
- Template Parameters
-