< See all topics

Functional Programming

The style of programming that encourages pure functions and rich types.

A Monad in Practicality: Controlling Time

Monads let you treat asynchronous operations as values, and compose them, giving you a simpler basis for concurrency than callbacks.

A Monad in Practicality: First-Class Failures

Monads can help you deal with failures in ways that are more predictable, and easier to abstract over than exception-based error handling.