25min chapter

Developer Voices cover image

Creating and Evolving Elixir (with José Valim)

Developer Voices

CHAPTER

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.

00:00

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode