The Eric Normand Podcast

Are monads practical?

Dec 5, 2019
Dive into the intriguing world of monads! Discover how they help maintain functional purity in programming, particularly in Haskell. The discussion evaluates their practical applications in managing input/output and mutable states. Are monads essential in every scenario? This conversation questions their universal necessity, sparking a thought-provoking exploration of their relevance in the broader realm of functional programming.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Haskell's Monad Rationale

  • Haskell uses monads due to its goal of functional purity, even having the slogan "avoid success at all costs".
  • This resulted in needing a way to handle effects like I/O while maintaining purity.
INSIGHT

Monads' Usefulness Beyond I/O

  • Monads are useful for state, error handling, and continuations beyond I/O.
  • This raises questions about their practicality when other languages have built-in features.
ADVICE

Practical Monad Usage

  • Use monads in Haskell and Scala due to their existing role in these languages.
  • Avoid them in languages like Clojure or ML where their benefits are less clear.
Get the Snipd Podcast app to discover more snips from this episode
Get the app