~/talk

Monoids, Monads, and Applicative Functors: Repeated Software Patterns

linkedin:david-sankel
slides:none on file

Shows concrete C++ implementations: treat std::vector, std::optional and std::function as monoids/functors and implement std::optional monoid and parser applicative with pure/apply/join. Claims monoids give lock-free, highly parallel map-reduce style composition (n-heap merges across cluster nodes), functors let you map through nested containers, applicatives propagate errors or model non-determinism, and monads add sequencing via join. Provides a working parser built from these primitives (start-char optimization) and argues it is competitive and composable with real C++ code.

AI-written summary · about

  1. 0:00Introduction to patterns
  2. 1:09Why functional design matters
  3. 2:32History of Haskell and category theory
  4. 6:09Understanding monoids
  5. 15:16Exploring functors
  6. 20:34Applicative functors explained
  7. 25:50Applicative functors in practice
  8. 33:19Building parser with applicatives
  9. 34:21Monads and their power
  10. 37:34Monads in C++ and real-world use
  11. 38:39Wrap-up and future patterns
  12. 39:01Q&A session
~/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.