🎉 October Learning Month — learn a new software term every day!
An interactive flashcard trainer for software engineering terms.

Monad

In plain terms

A functional pattern for chaining computations that carry extra context.

Going deeper

A monad wraps values with context (like possible failure, async, or state) and provides a way to sequence operations on them cleanly. It structures effectful code in pure languages.

Under the hood

Defined by bind (flatMap) and return; common monads handle nullability (Maybe), errors (Either), and async (Promise-like).

Examples

Haskell Maybe/IO, JavaScript Promises, Optional chaining, Either types.

Think of it like...

Like an assembly line of boxes where each station opens the box, works on the contents, and reboxes for the next.

Feedback & Bug Report