Explore a comprehensive conference talk that delves into the limitations of std::future and introduces stlab::future as a superior alternative. Discover how stlab::future, designed by Sean Parent and Felix Petriconi, addresses existing issues and offers advanced features beyond futures and continuations, including support for modeling graphs of single-threaded tasks. Learn about Communicating Sequential Processes (CSP) channels provided by the stlab library, which enable the creation of parallel-running graphs with n:m input/output tasks. Gain insights into the backstory of futures, their capabilities, and important concepts such as regular types, joins, tasks, error handling, contagion, reduction, and error recovery. While a basic understanding of threads, mutex, and locks is assumed, the talk is accessible to those without extensive functional programming knowledge.
Overview
Syllabus
Intro
Backstory
What is a future
Short overview of futures
C11 futures
Regular type
Join
Title
Capabilities
Task
Error Handling
Contagion
Reduction
Error Recovery
Joins
Taught by
ACCU Conference