A design pattern that provides a way to wrap values and chain operations on them, implementing bind and return operations while satisfying three laws: left identity, right identity, and associativity. Monads handle side effects and computations in a composable way.
From Greek 'monas' meaning unity or single unit, originally used by philosopher Leibniz. The term was adopted into category theory and then programming by Eugenio Moggi in the 1980s to describe computational effects.
A monad is like a assembly line for handling messy situations - it takes your value, wraps it in protective packaging, and ensures each step can handle errors or special cases gracefully! Once you understand that Maybe, Promise, and IO are all monads, you realize they're solving the same fundamental problem of safe computation chaining.
Complete word intelligence in one call. Free tier — 50 lookups/day.