Session-Based Typechecking for Elixir Modules Using ElixirST
summary
ElixirST provides a static session typing layer for Elixir modules and ships as a compilation‑time tool integrated into the Elixir pipeline. It uses session and dual annotations on public functions, extracts protocols from compiled code, and flags mismatched labels or payload types (e.g. string vs number) before runtime. The prototype targets the common server spawning handler pattern (one client one handler), proves session fidelity and progress, and reports errors live via the language server.
AI-written summary · about
chapters (12)
- 0:00Session-based typechecking intro
- 1:07Elixir’s actor concurrency
- 3:12Concurrent patterns in Elixir
- 6:09Protocols for message interactions
- 8:56Protocol violation failures
- 10:04Annotating functions with types
- 12:10Live ElixirST demo
- 17:05Formal session typing
- 20:32Validating session fidelity
- 23:23ElixirST future directions
- 24:32Conclusion
- 25:18Q&A
