And Then() Some(T)

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

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 & &




July 17-19, 2023


CppNorth Group