Monads in Modern C++
Offered By: ACCU Conference via YouTube
Course Description
Overview
Explore the concept of monads in modern C++ through this comprehensive conference talk from ACCU 2023. Delve into the world of functional programming techniques as speakers Georgi Koyrushki and Alistair Fisher demystify monads and their implementation in C++. Learn about functors as building blocks, discover how monadic operations can transform imperative-style code into concise functional pipelines, and understand their role in reducing boilerplate and side effects. Examine practical examples related to std::vector and std::optional, and gain insights into recent and upcoming C++ standard developments. Compare C++'s monadic support with other programming languages and explore various monad types, including Optional, Expected, and Future. No prior functional programming knowledge is required for this informative session that bridges theory and coding examples.
Syllabus
Introduction
What makes C
What is a functor
Is this the first time we have seen a functor
Can we go beyond that
Optional
Functor
F function
Conditional checks
Why should I care
What went wrong
Join
Joining
Helper function
Formal Definition
Vector Monad
Vector of Files
Range Join
Filtering
Simulations
Evolve Boards
Cartesian Products
Other Monads
Style Optional
Option
Expected
Parsing
TL Expected
Ranges
Future
Asynchronous
Two fundamental issues
A continuation
B continuation
Possible fixes
Stud Execution Framework
CPlusMoradic Interface
Walkthrough
Type aliases
Business logic
Taught by
ACCU Conference
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Paradigms of Computer Programming
Université catholique de Louvain via edX Introduction to Functional Programming
Delft University of Technology via edX Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX