|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The Intensional Functor for 1-tuple values. More...
Public Types | |
| using | Σ_cat = Set<T> |
| using | Τ_cat = Set<std::tuple<T>> |
| using | Domain = Σ_cat |
| using | Codomain = Τ_cat |
| template<typename U> | |
| using | Shape = std::tuple<U> |
Public Member Functions | |
|
template<typename 𝗳> requires IsArrow<std::remove_cvref_t<𝗳>> | |
| constexpr TupleMap< T, std::remove_cvref_t< 𝗳 > > | operator() (𝗳 f) const |
The action on arrows: f: T → U to std::tuple<T> → std::tuple by mapping the single element. | |
| constexpr Τ_cat | operator() (const Σ_cat &) const noexcept |
The Intensional Functor for 1-tuple values.
Concrete IsShapedFunctor model implementing Set<T> -> Set<std::tuple<T>>. Pinned as the project's Frobenius monad (IsFrobenius, :kleisli): std::tuple<T> always has a single element, so ε via std::get<0> is total (no Some-fragment concession), and δ wraps once more cleanly. Sister to maybe_functor (monad only) per the #632 carrier-role split.