~/talk

"No Foul Play" Describing State with Dependently Typed FSMs

Talkat RS Conf 2019 · 2019-08-09..08-11· [frontend-architecture]
slides:none on file

Claim: types encode the full snooker state and prevent illegal plays at compile time. Implementation uses Idris and encodes counts (e.g. 15 reds) as type-level naturals so transitions must match exactly. The finite state machine models phases and fouls by making next-state a function of the shot result; illegal sequences fail to typecheck. Examples include a type-level N‑Queens solution and a working snooker break model that compiles and enforces the rules.

AI-written summary · about

  1. 0:00Intro
  2. 1:30Type Systems
  3. 2:40Type-Level Programming
  4. 3:25Generic Types as Type Functions
  5. 5:50Peano numbers
  6. 9:38printf
  7. 12:20n-Queens
  8. 14:55Snooker Types
  9. 16:51Break Sequence
  10. 17:40Finite State machines
  11. 22:22Counting the Reds
  12. 24:35The Two Phases
  13. 29:13Foul Handling
  14. 37:44Analogy mapping
  15. 39:06What's next?
~/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.