This refers to [second and third milestones](https://elixir-lang.org/blog/2023/06/22/type-system-updates-research-dev/) of Elixir's type system. New constructs and APIs will be added to Elixir: * [ ] Define a construct for typed structs (field documentation, parametric definitions, private fields) * [ ] Define a construct for type aliases * [ ] Define a construct for type signatures * [ ] Define a construct for typed behaviours * [ ] Define a construct for typed protocols and implementations * [ ] Parametric protocols * [ ] Dispatching based on output type * [ ] Type-checking of for-comprehensions * [ ] Define a construct for Erlang FFI * [ ] Define a construct for typing configuration Implementation: * [ ] Strong arrows * [ ] Exhaustive type checking (case, try, receive, with, etc) Additional theoretical concepts: * [ ] Row polymorphism * [ ] Behaviours * [ ] Witness generation / property based testing
This refers to second and third milestones of Elixir's type system.
New constructs and APIs will be added to Elixir:
Implementation:
Additional theoretical concepts: