# Practical Monads

Learn about some practical monads like the IO monad and the Reader monad with examples.

## We'll cover the following

## Overview

The `Calculator`

type class, which is the focal point of this chapter, is only a microcosm of monad practicality. The reality is that the versatility of monads renders them convenient for solving generic problems. The most pervasive monads applicable to real-world problems are IO, State, Reader, List, and Writer monads. They have immense value in their innate generic qualities.

## Monad functions

Monads provide specialized environments for function chaining or composition. Fundamentally, monads are specialized containers and are chainable. Functional programming languages, especially Haskell, provide their users with monad helper functions as built-in abstractions for programming aided by monads. Implementing the said functions in PHP requires some effort but yields semantically similar results.

Get hands-on with 1200+ tech skills courses.