Developer Voices cover image

Creating and Evolving Elixir (with José Valim)

Developer Voices

00:00

Handling Polymorphism and Extensible Polymorphism in Elixir

Exploring how Elixir approaches polymorphism through pattern matching on predefined data types, the chapter delves into the challenges of handling different types within a system and the need for extensible polymorphism. It discusses how Elixir implements protocols for flexible data contracts and extensible polymorphism, drawing parallels to trade features in Rust and emphasizing software design over language restrictions. The chapter also examines the concept of multi-methods in Elixir inspired by Clojure, highlighting the complexities and trade-offs involved in creating a more general mechanism for dispatching rules.

Transcript
Play full episode

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app