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

A co-Kleisli triple ⟨W, ε, (−)†⟩, the comonad in its extension form: the counit and extend, their laws certified by is_cokleisli_triple. More...

Concept definition

template<typename Functor, typename T, typename U>
requires(typename Functor::template Shape<T> box,
{ counit_witness<Functor, T>{}(box) } -> std::same_as<T>;
{ box <<= f } -> std::same_as<typename Functor::template Shape<U>>;
}
A co-Kleisli triple ⟨W, ε, (−)†⟩, the comonad in its extension form: the counit and extend,...
Definition kleisli.cppm:213
counit_witness<Functor, T>: Generic Kleisli counit witness. Samples a value from the co-Kleisli exten...
Definition kleisli.cppm:119
Trait: the co-Kleisli-triple laws, the duals, for Functor's counit and extend.
Definition kleisli.cppm:162
An arrow A → B the triple concepts probe bind and extend with: only its type is read,...
Definition kleisli.cppm:188

Detailed Description

A co-Kleisli triple ⟨W, ε, (−)†⟩, the comonad in its extension form: the counit and extend, their laws certified by is_cokleisli_triple.

Template Parameters
Functorthe functor.
T
Uthe element types.