The Evolution of Functional Programming in C++
summary
A concise history from ISO C++98 to C++23 showing which FP tools actually work: function pointers/objects and templates used to refactor a quicksort by passing partition strategies; C++11 lambdas, std::function and std::bind used to wire a perceptron prediction pipeline; template specialization compresses a bool stack into bitsets; C++20 Concepts replaces SFINAE for Haskell‑like typeclass emulation; std::ranges views filter and join implement lazy second‑degree social queries; error handling moves from optional to std::expected; performance remains empirical — profile to decide.
AI-written summary · about
chapters (15)
- 0:00Functional programming in C++
- 1:12Origins of C++
- 2:36C++98 functional features
- 6:30Function objects in C++98
- 8:14Generic programming C++98
- 12:43C++98 vs Haskell
- 16:56C++11 functional features
- 23:15Metaprogramming C++11
- 27:28C++14 improvements
- 29:14C++17 structured bindings
- 33:52C++20 concepts and ranges
- 38:10C++23 new features
- 42:19C++26 future
- 44:04Performance implications
- 47:56Conclusion
related talks
01h 31mFunctional Programming in Modern C++: The Imperatives Must Go!
01h 02mFunctional C++
46mPractical Functional Programming in C++
01h 04mFunctional C++ For Fun And Profit
01h 09mThe Definitive Guide to Functional Programming in Cpp
52mC++: Functional programming, also in C++
01h 47mFunctional C++
01h 01mFunctional C++
