~/talk

Algorithms for Trees - Foldable, Applicative, Traversable

Talkat C++Now 2026 · 2026-05-04..05-08· [functional-programming]
links:none on file
slides:none on file

Proposes concrete C++ type‑class APIs (functor, foldable, applicative, traversable, monoid) with variable‑template lookup and static dispatch, shows working adapters for four tree shapes (fixed‑point, shared‑ptr binary, fringe, finger tree) and test suites, and claims full implementations are feasible with C++23/26. Demonstrates traversable preserves shape (commuting containers, e.g. range of senders → sender of range, zip‑list/SIMD zipping), measured trees for log‑time split/search, and finger tree use for persistent ropes/text editing.

AI-written summary · about

  1. 0:00Introduction
  2. 1:27Foldable pattern limits
  3. 6:01Applicative practical uses
  4. 7:28Traversable generalization
  5. 13:12Shape-preserving operations
  6. 13:34Visitors vs pattern matching
  7. 16:51Type class pattern for C++
  8. 20:27Recursion schemes
  9. 27:00Functors minimal interface
  10. 39:02Foldable vs Traversable
  11. 42:13Monoids for fold operations
  12. 45:29Applicative parallel ops
  13. 51:02Traversable commuting containers
  14. 57:22Monoids for efficient queries
  15. 1:09:15Finger trees
  16. 1:13:55Internal iteration APIs
  17. 1:24:28Naming conventions
  18. 1:29:06Extending to monads
~/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.