~/talk

Monadic Operations for Box-Like Types - Designing the Extensibility Model

Talkat C++Now 2026 · 2026-05-04..05-08· [compilers-and-language-design, c-and-cpp]
links:none on file
slides:none on file

Proposes free-function monadic operations so std::optional, std::expected, Boost.Optional, raw pointers and C APIs like libcurl can all join one pipeline without waiting for committee changes. Implements a beman.monadics library using SFINAE/metaprogramming, box_traits opt‑in specializations, C++20 concepts and optional C++26 reflection for diagnostics; shows concrete adapters for pointers, shared/unique_ptr, curl easy handles and conversion helpers (flatten, value_or, inspect) with compile‑time checks and tests.

AI-written summary · about

  1. 0:00Welcome
  2. 0:25Motivation
  3. 1:30Box-like types
  4. 2:12C++23 limits
  5. 3:44Monadic pipeline
  6. 5:09Generic problem
  7. 8:22Extension model
  8. 10:30Existing analysis
  9. 13:17Then, transform, or else
  10. 18:37Patterns summary
  11. 22:35Generic design
  12. 27:10Or else implementation
  13. 30:39Extension points
  14. 31:43Box traits interface
  15. 32:05Traits for expected/optional
  16. 38:14Error channel detection
  17. 38:57Get box traits utils
  18. 43:36Then implementation
  19. 45:27Compiler diagnostics
  20. 51:38Diagnostic messages
  21. 52:00C++26 delete reason
  22. 57:41Testing with Boost/Std
  23. 58:23Traits for status/pointers
  24. 1:00:10Monadic pointers
  25. 1:04:45Monadic C APIs
  26. 1:08:37Extending with value_or
  27. 1:11:32Implementing inspect
  28. 1:13:20Flattening nested types
  29. 1:15:06Box type conversion
  30. 1:17:57Summary and future
  31. 1:19:24Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.