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

Concept definition

template<typename T, typename η_t, typename μ_t>
(requires(η_t η, μ_t μ, typename T::Σ_cat::Arrow::Domain c) {
requires IsIdentityArrow<decltype(η(c))> &&
IsIdentityArrow<decltype(μ(c))>;
A structure-preserving mapping from a Category back to itself (F : 𝒞 → 𝒞).
Definition functor.cppm:474
Definition morphism.cppm:856
Definition monad.cppm:88
A family of components, one per object, whose square commutes at every arrow of the source: for eac...
Definition natural.cppm:342
constexpr Maybe< A > μ(Maybe< Maybe< A > > const &mma)
μ for Maybe: flattens nested optional context.
Definition natural.cppm:115
constexpr Maybe< std::decay_t< A > > η(A value)
The Maybe endofunctor T, implemented via std::optional.
Definition natural.cppm:96
T : C -> C with η : Id ⟹ T and μ : T² ⟹ T.
Definition monad.cppm:80