~/talk

"std::accumulate: Exploring an Algorithmic Empire"

slides:none on file

Claim: std::accumulate is the most powerful STL algorithm because any associative binary op plus an identity (a monoid) becomes parallelizable and composable. Examples: rendering a heterogeneous JSON via a variant-based fold, folding tuples into an ostream, and using optional as a sentinel to implement an unfold (pull/push) generator. C++17 reduce gives parallel semantics for associative ops. An experiment rewrites about 77 plain-loop algorithms in terms of accumulate, showing monoids everywhere and promoting fold/unfold as a general design pattern.

AI-written summary · about

  1. 0:00Introduction to accumulate
  2. 1:49Accumulating Boolean values
  3. 5:20Monoids and their properties
  4. 9:54Why use accumulate over loops
  5. 15:31Accumulating multi-dimensional data
  6. 27:44Accumulating heterogeneous sequences
  7. 32:22Introducing unfold operation
  8. 39:12Main talk conclusion
  9. 39:32Algorithmic perversions postscript
  10. 46:37Conclusion and next steps
~/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.