|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
An object: a product of factors in normal form, a list. The product is associative with unit 1 (the empty list), so \((A \times B) \times C\) and \(A \times (B \times C)\) are the same object by construction, and >> composes regardless of grouping. Read as a binary tree, (first, rest), where a tree is asked for (kind / operands in Python). The columns are its factors'.
More...

Public Member Functions | |
| constexpr | Object (std::initializer_list< std::size_t > sorts) |
| The product of these carriers, one leaf each. | |
| constexpr | Object (const Columns &sorts) |
Public Attributes | |
| std::vector< Factor > | factors |
Friends | |
| constexpr bool | operator== (const Object &, const Object &)=default |
An object: a product of factors in normal form, a list. The product is associative with unit 1 (the empty list), so \((A \times B) \times C\) and \(A \times (B \times C)\) are the same object by construction, and >> composes regardless of grouping. Read as a binary tree, (first, rest), where a tree is asked for (kind / operands in Python). The columns are its factors'.