A Kleisli triple ⟨T, η, (−)*⟩ (Manes), the monad in its extension form: the unit and bind, their laws certified by is_kleisli_triple.
More...
template<typename Functor, typename T, typename U>
requires(T x, typename Functor::template Shape<T> box,
{
} -> std::same_as<typename Functor::template Shape<T>>;
{ box >>= f } -> std::same_as<typename Functor::template Shape<U>>;
}
A Kleisli triple ⟨T, η, (−)*⟩ (Manes), the monad in its extension form: the unit and bind,...
Definition kleisli.cppm:198
Trait: Functor's unit and bind satisfy the Kleisli-triple laws (Manes): , and . A certificate,...
Definition kleisli.cppm:158
An arrow A → B the triple concepts probe bind and extend with: only its type is read,...
Definition kleisli.cppm:188
unit_witness<Functor, T>: Generic Kleisli unit witness. Lifts a value into the Kleisli extension name...
Definition kleisli.cppm:102
A Kleisli triple ⟨T, η, (−)*⟩ (Manes), the monad in its extension form: the unit and bind, their laws certified by is_kleisli_triple.
- Template Parameters
-
| Functor | the functor. |
| T | |
| U | the element types. |