Overview
Explore functional programming concepts in C++ through this ACCU 2017 conference talk. Delve into the definition of functional programming and its valuable ideas applicable to C++ software design. Learn about immutable data types, persistent data structures, atomic references, and expression-oriented programming. Discover how to implement functional programming techniques in C++, including lambda expressions, builder patterns, and copy-on-write strategies. Examine the benefits and challenges of using immutable arrays, persistent data structures like singly linked lists and trees, and optional types. Gain insights into forward references, pipe filters, and how to balance between functional and imperative programming paradigms in C++.
Syllabus
Intro
What is functional programming
Expression oriented programming
If expression
Sharp
Ternary
Lambda
Builder Pattern
Const
MemberWise
Need Small
Get Messy
Builder
Benefits
lambda capture
string
copyonwrite
standardstring
stringview
stringbuilder
attached
copy
mutate
immutable
arrays
persistent data structures
singly linked lists
list objects
trees
newvalue
newroot
Rebalancing
Solution
CTP
Container
Optional
Forward references
Optionals
Pipe
Filter
Taught by
ACCU Conference