~/talk

Flow: An Introduction

links:none on file
slides:none on file

Flow is the custom language that implements FoundationDB’s actor-based concurrency model inside C++ and is compiled by a C# actor compiler into C++ that runs the database. It uses futures/promises and unidirectional streams, supports remote futures for RPC, and intentionally omits parallel threads. Key concrete pitfalls: variables must be marked state to survive yields, use wait next for streams, the compiler fails type deduction and lambda captures, and actors cancel when future count hits zero, so lifetime must be managed.

AI-written summary · about

  1. 0:00Intro
  2. 0:22WHAT IS FLOW?
  3. 2:40A SIMPLE ACTOR...
  4. 4:00FUTURES AND PROMISES
  5. 4:40A LOOK AT THE GENERATED CODE
  6. 5:01THE GENERATED ACTOR
  7. 6:05PROBLEM: NO STACK
  8. 7:37WAITING ON MULTIPLE FUTURES
  9. 8:36STREAMS EXAMPLE
  10. 10:04REMOTE FUTURES
  11. 11:36THE ACTOR COMPILER DOESN'T UNDERSTAND C++
  12. 12:48ARGUMENTS TO ACTORS ARE COPIED
  13. 13:37CANCELLING ACTORS
  14. 14:30WEIRD SCOPING RULES
  15. 16:01SWALLOWING EXCEPTIONS: FIX 1
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.