Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Monads in Modern C++

ACCU Conference via YouTube

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

Reviews

Start your review of Monads in Modern C++

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.