Software Unscripted

Language Design Deep Dive with Elixir Creator José Valim

4 snips
Jun 1, 2025
In this enlightening conversation, José Valim, the visionary behind the Elixir programming language, shares his profound insights into programming language design. He discusses major upcoming changes in the Roc language, focusing on effectful functions that enhance error handling. Valim also contrasts debugging practices across languages like Haskell, dives into Elixir's design choices like pattern matching, and explores the balance between function purity and user experience. Get ready to geek out over the nuances of programming syntax and the future of functional programming!
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Introducing Effectful Functions in Rock

  • Rock language introduces effectful functions with a thick arrow in the type system.
  • This enables inference and strict separation between pure and effectful functions, improving clarity and enforcement.
ADVICE

Allow Debug Side Effects in Pure Code

  • Allow debug print statements even in pure functions for practical frontline debugging.
  • Treat debug effects as non-guaranteed runtime events that might get optimized away.
INSIGHT

Tracing Challenges in Pure Functions

  • Tracing and timing inside pure functions present challenges for runtime observability.
  • The initial strategy is treating all logging and timing as effectful to avoid optimization complications.
Get the Snipd Podcast app to discover more snips from this episode
Get the app