Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::HasKleisliBindOperators Concept Referenceexport

A monadic carrier MA supports Kleisli bind, >>=, with a Kleisli arrow F; >> composes arrows and nothing else. More...

Concept definition

template<typename MA, typename F>
concept dedekind::category::HasKleisliBindOperators = requires(MA const& ma, F&& f) {
{ ma >>= std::forward<F>(f) };
}
A monadic carrier MA supports Kleisli bind, >>=, with a Kleisli arrow F; >> composes arrows and nothi...
Definition kleisli.cppm:452

Detailed Description

A monadic carrier MA supports Kleisli bind, >>=, with a Kleisli arrow F; >> composes arrows and nothing else.

Captures the operator-shape availability of monadic bind: given ma : M and f : A → M, ma >>= f must compile. The laws (left/right unit, associativity) are not enforced here; they are pinned by IsMonad in :monad.