dub_gui's comments

dub_gui | 1 year ago | on: Elixir 1.17 released: set-theoretic types in patterns, durations, OTP 27

To clarify, the type-checker does not modify compilation to the beam at all. Instead, it takes into account the predicted runtime checks to inject more static types into its analysis.

For instance, without even introducing annotations, if a function head has a guard `is_boolean(x)`, using the + operator on x within that function would lead to a type error.

dub_gui | 1 year ago | on: Elixir 1.17 released: set-theoretic types in patterns, durations, OTP 27

You’re right about what a gradual type system means! A gradual type system allows flexibility in how you approach typing a codebase. It also means that your system incorporates a dynamic type, making your types 'gradual'.

Interestingly, gradual set-theoretic types are flexible enough to let you gradually implement type inference for that system. Hence, the gradual gradual type system. :-)

page 1