Migrating code to the Reader Monad

In this post, I'm going to show how to transform a program explicitly accepting configuration as a parameter into a program that uses the Reader Monad.

Monads by example

In this post I'm going to compare different Monad instances, look into concrete signatures of their methods and see how they work in practice.

Applicatives by example

In this post I'm going to compare different Applicative instances, look into concrete signatures of their methods and see how they work in practice.

Functors by example

In this post I'm going to compare different Functor instances, look into concrete signatures of their methods and see how they work in practice.