|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The binding algebra at the points X: a constant beside a term (a, b of an operator, a comparison or a conditional) meets the term's carrier now; a constant under an arrow meets the arrow's domain. A leaf binds trivially.
More...
Public Member Functions | |
| template<typename Leaf> | |
| constexpr Bound | operator() (const Leaf &) const |
|
template<typename Node, typename... R> requires requires(const Node& n) { n.a; n.b; } | |
| constexpr Bound | operator() (const Node &n, R...) const |
| template<typename F, typename A, typename R> | |
| constexpr Bound | operator() (const Ap< F, A > &t, R) const |
| template<typename K> | |
| constexpr Bound | steer (const Term< K > &t) const |
| A term built at run time meets the points now: every slot one the points have, every constant cast into its sort, every operator admitted in it, and no two carriers in one term. | |
| template<typename K> | |
| constexpr Bound | steer (const Pred< K > &t) const |
| template<typename C, typename K> | |
| constexpr void | bind_as (const Term< K > &t) const |
The term bound in the sort C. | |
Public Attributes | |
| X | rep {} |
The binding algebra at the points X: a constant beside a term (a, b of an operator, a comparison or a conditional) meets the term's carrier now; a constant under an arrow meets the arrow's domain. A leaf binds trivially.
| X | the point type. |