~/talk

Finite State Machines for Functional Software Machinery

Talkat Scala Love in the City 2021 · on Saturday, 2021-02-13· [functional-programming]
slides:none on file

Defines finite state machines as a type-level function S × I → S and extends to outputs as a transducer with IO returning (S, O). Shows concrete Scala examples: a small Scala.js to‑do UI (drop‑downs, tags, editing), an animation cycling shapes on a 200ms tick, and an account login service with verify/lock/close events. Contrasts two implementations: ADT actions (serializable) vs church‑encoded service methods, notes folds are FSMs, and highlights composition (sequential/parallel), map/flatMap, and improved reasoning and testability.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 2:34What is a finite state machine
  3. 5:42Simplified FSM in code
  4. 8:35Core concept of FSMs
  5. 14:35Adding output to FSMs
  6. 19:54FSMs in web services
  7. 22:00Implementation techniques
  8. 26:59Composing finite state machines
  9. 30:13Key takeaways and summary
~/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.