Invited Talk: A Type System for Elixir
summary
A formal calculus uses set-theoretic types (union, intersection, negation, singletons) and implements pattern/guard inference that computes possible/surely accepted types for exhaustivity and redundancy checks, plus narrowing to refine captured variables. Map types support optional and computed keys; row polymorphism and occurrence typing are planned. Gradual typing avoids inserted runtime casts by tracking strong functions and propagating a Dynamic marker. A working prototype exists, online and partially integrated with the Elixir toolchain.
AI-written summary · about
