Software Unscripted cover image

Software Unscripted

Gradual vs Static Typing with José Valim

Sep 21, 2023
Richard talks with José Valim, creator of Elixir, about gradual vs static typing. They discuss dynamic typing in TypeScript, expressiveness and correctness in API design, resurgence of static typing, notebooks in data science, and the tug of war between gradual and static typing.
01:25:38

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • The Elixir programming language is exploring set theoretic types to find a type system that can model idioms while maintaining correctness.
  • Gradual typing strikes a balance between expressiveness and correctness by allowing dynamic parts of the code while introducing static typing.

Deep dives

Set theoretic types for Elixir

The Elixir programming language is exploring the use of set theoretic types, partnering with a researcher from CNRS. They have developed a prototype to validate the concept. The goal is to find a type system that can model as many idioms as possible while maintaining correctness. The challenge lies in understanding complex conditional code and ensuring the type system can handle it. There is also a consideration for message passing between processes, where gradual typing is useful for handling complex data structures. However, there are still open questions on how to handle occurrence typing and the limitations in dynamic aspects of the language.

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner