Functional Design Explained
summary
Argues for finding a problem’s mathematical essence via denotational semantics and encoding it as pure functions, then deriving an efficient C++ implementation; demonstrates a movie-as-time→frame model, a source/sync stream DSL with connect/transform operators, and parser combinators used to build a modes-aware CLI parser. Notes practical tool mappings like boost::optional and boost::variant and mentions AGDA/Haskell for specification. Points out a Haskell quicksort example that runs about 4× slower (optimized) than a simple C++ example (unoptimized).
AI-written summary · about
chapters (17)
- 0:00Introduction to functional design
- 1:01Math and engineering intersection
- 2:04Program equivalence and sameness
- 5:14Programming in math
- 8:46History of functional languages
- 10:32Abstraction levels in C++
- 12:17Semantics discovery
- 13:20What is functional design
- 14:02Algebraic data types
- 18:17Sum types in C++
- 20:26Meaning of C++ expressions
- 22:57Denotational design
- 23:38Mathematical essence of a movie
- 27:13Streams and syncs
- 35:00Command line processing
- 38:08Benefits of functional design
- 39:12Q&A session
related talks
34mHow I learned to stop worrying and love Functional Design
01h 47mFunctional C++
01h 02mFunctional C++
01h 04mFunctional C++ For Fun And Profit
01h 31mFunctional Programming in Modern C++: The Imperatives Must Go!
58mKeynote: Why Functional Programming Matters
01h 01mFunctional C++
51mFunctional Programming and Domain Driven Design - a match in Heaven!
