|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Two arrow types F, G compose via >> .
More...
Two arrow types F, G compose via >> .
Captures the operator-shape availability of categorical arrow composition aligned with this partition's operator>> policy: arrows ( IsArrow ) and codomain/domain-matched ( F::Codomain = G::Domain ). Given f : A → B and g : B → C, the expression f >> g must compile and yield a result modelling IsArrow.
Note: this concept covers >> only. There is no arrow-level << overload at the :morphism layer ( << in the project is comonadic extend in :kleisli); the reverse-composition direction, if reified later, is a separate concept. Functors compose by a more constrained overload in :functor.
The laws (associativity, identity) are the engineer's honesty obligation, mechanically discharged by the existing "id @c ∘ @c id @c = @c id" static_asserts.