|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
S presents the object C: a value convertible to C (the default: the object is one value type), or a type the object names (C::presents).
More...
S presents the object C: a value convertible to C (the default: the object is one value type), or a type the object names (C::presents).
Domain and Codomain name objects. By default an object is presented by one value type, itself: IsArrow checks the call on it and asks the result to convert to it. That is not always possible. A type-indexed family (an expression grammar, each expression its own type so the reducer can rewrite at compile time) presents one object by many types, and no single type is the object: the sets over a carrier are 𝔸, comprehensions, Meet / Join / Not nodes, one object \(\mathrm{Sub}(T)\) (sets::Subobjects). Such an object names its presentations (presents) and one representative (archetype), and IsArrow reads them: the call is checked on the archetype, the result is asked to present the codomain. A concept quantifies over no types, so the ∀ over presentations is the arrow's own constrained operator() (every S that presents the domain); the concept checks the representative.
| S | the presentation. |
| C | the object. |