Don't look in the box! Forget about Monads and burritos - let's get practical and see how C++ got more functional by way of Rust Option(T) and Haskell Maybe. Can we write cleaner code using continuations? Let's explore patterns of using C++23 std::optional and std::expected. See how combinators and higher-order functions can be used to manage control flow in a modular fashion, by building pipelines of computation yielding values.
Victor Ciura is a Principal Engineer on the Visual C++ team, helping to improve the tools he’s been using for years. Before joining Microsoft, he programmed C++ professionally for 20 years, designing and implementing several core components & libraries of Advanced Installer, improving the virtualization and repackaging technologies for MSI/MSIX.
One of his hobbies is tidying-up and modernizing aging codebases and has been known to build open-source tools that help this process: Clang Power Tools.
He’s a regular guest at Computer Science Department of his Alma Mater, University of Craiova, where he gives student lectures & workshops on using modern C++, STL, algorithms and optimization techniques.
More details: @ciura_victor & https://ciura.ro & linkedin.com/in/victor-ciura