Overview
Explore the actor-based programming language Flow in this 19-minute conference talk by Markus Pilman from Snowflake. Learn about the language used to implement FoundationDB, optimized for I/O-heavy and highly concurrent software. Discover how to write simple actors, understand the underlying code structure, and identify common pitfalls in Flow programming. Gain insights into futures, promises, generated code, remote futures, and actor cancellation. Examine the unique aspects of Flow, including its approach to stack management, waiting on multiple futures, and handling streams. Address challenges such as the actor compiler's limitations with C++ and specific scoping rules. Ideal for potential FoundationDB contributors, distributed systems enthusiasts, and those interested in exploring innovative programming languages.
Syllabus
Intro
WHAT IS FLOW?
A SIMPLE ACTOR...
FUTURES AND PROMISES
A LOOK AT THE GENERATED CODE
THE GENERATED ACTOR
PROBLEM: NO STACK
WAITING ON MULTIPLE FUTURES
STREAMS EXAMPLE
REMOTE FUTURES
THE ACTOR COMPILER DOESN'T UNDERSTAND C++
ARGUMENTS TO ACTORS ARE COPIED
CANCELLING ACTORS
WEIRD SCOPING RULES
SWALLOWING EXCEPTIONS: FIX 1
Taught by
Linux Foundation