~/talk

Pretty State Machine

Talkat Code BEAM SF 2019 · 2019-02-28..03-01· [elixir-and-erlang, concurrency]
links:none on file
slides:none on file

gen_statem exposes concrete features GenServer lacks: multiple actions on a transition (reply, emit events, set timeouts), the ability to postpone (replay) incoming messages into the front of the mailbox, and three timer types (event, state, generic) that differ in cancellation semantics. Performance measures claim parity with GenServer, there is an upgrade path from gen_fsm, and practical examples include an HTTP-client modeled as states where postponed requests queue and timers handle retries — the patterns work in practice.

AI-written summary · about

  1. 0:00Intro
  2. 0:48Premise
  3. 1:07Objective
  4. 1:51Performance
  5. 2:22Documentation
  6. 3:26State
  7. 3:45Data
  8. 4:56Action
  9. 6:26Genesis
  10. 7:02Comb Home
  11. 7:19Mission
  12. 8:16State Functions
  13. 8:52State Name
  14. 10:29State Enter Functions
  15. 11:39Mailbox Events
  16. 12:32postpone
  17. 13:30selective receive
  18. 15:19eventtimeout
  19. 15:52statetimeout
  20. 16:27responsetimeout
  21. 18:56generictimeout
  22. 19:39reversibility
  23. 20:57resources
  24. 22:56intuition
~/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.