Skip to content
0:00 / 0:00

#elixir#set-theoretictypes#typesystem

Set Theoretic Types in Elixir with José Valim | S14E07 Elixir Wizards Podcast by SmartLogic

SmartLogic

404 subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by José Valim, creator of Elixir
  • Linked in the descriptionelixir-lsp/elixir-ls

Intermediate. Assumes working knowledge.

2.6K views1 year ago1 recommendation

Programming languagesElixir and ErlangLanguage design and type systems

José Valim explains the development, implementation, and phased rollout of Elixir's new set-theoretic type system.

Elixir Programming Language | Software Development | Gradual Types Elixir creator José Valim returns to the podcast to unpack the latest developments in Elixir’s set-theoretic type system and how it is slotting into existing code without requiring annotations. We discuss familiar compiler warnings, new warnings based on inferred types, a phased rollout in v1.19/v1.20 that preserves backward compatibility, performance profiling the type checks across large codebases, and precise typing for maps as both records and dictionaries.   José also touches on CNRS academic collaborations, upcoming LSP/tooling enhancements, and future possibilities like optional annotations and guard-clause typing, all while keeping Elixir’s dynamic, developer-friendly experience front and center. The Journey of Elixir's Type System Challenges and Learnings in Type System Development Community Feedback and Iterations Current Progress and Metrics Set Theoretic Type Approach Dialyxir and Future of Elixir's Type System Developer Guidance and Future Plans Drawing the Owl: Initial Steps Type Information and False Negatives Refining Type Information Future Goals and Timeline Implementing and Testing New Features Dynamic vs. Static Typing Impact on Developer Tools Performance and Compilation Times Final Thoughts and Developer Guidance   Key topics discussed in this episode: • Set-theoretic typing (union, intersection, difference) • Compiler-driven inference with zero annotations • Phased rollout strategy in 1.19 and 1.20 • Performance profiling for large codebases • Map typing as records and dictionaries • Exhaustivity checks and behavioral typing in GenServers • Language Server Protocol & tooling updates • Future optional annotations and guard-clause typing • CNRS collaboration for theoretical foundations • Clear error messages and false-positive reduction • Community-driven feedback and iterative improvements   Links mentioned: github.com/elixir-nx livebook.dev/ hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html hexdocs.pm/elixir/main/gradual-set-theoretic-types.html hexdocs.pm/dialyxir/0.4.0/readme.html remote.com/ Draw the Owl meme: i.imgur.com/rCr9A.png dashbit.co/blog/data-evolution-with-set-theoretic-types hexdocs.pm/ecto/Ecto.html github.com/elixir-lsp/elixir-ls

Why it's here

1 person recommends this

What people say. Recommended for a deep dive into how Elixir is adopting set-theoretic types without sacrificing its dynamic nature.

u/ideamarcosin r/elixir • Recommends

Set Theoretic Types in Elixir with José Valim Elixir creator José Valim returns to the Elixir Wizards Podcast to unpack the latest developments in Elixir’s set-theoretic type system and how it is slotting into existing code without requiring annotations. We discuss familiar compiler warnings, new warnings based on inferred types, a phased rollout in v1.19/v1.20 that preserves backward compatibility, performance profiling the type checks across large codebases, and precise typing for maps as both records and dictionaries. José also touches on CNRS academic collaborations, upcoming LSP/tooling enhancements, and future possibilities like optional annotations and guard-clause typing, all while…