Haskell Series Migrating code to use the Reader Monad The Reader Monad is one of the famous trio: Reader/Writer/State. They are all really powerful abstractions and fit specific scenarios like being able to read global configuration, being able to trace

Haskell Series Monads by example Running :i Monad in ghci yields the following: class Applicative m => Monad (m :: * -> *) where (>>=) :: m a -> (a -> m b) -> m b (>

Haskell Series Applicatives by example Running :i Applicative in ghci yields the following: class Functor f => Applicative (f :: * -> *) where pure :: a -> f a (<*>) :: f (a -> b) -> f

Haskell Series Functors by example Running :i Functor in ghci yields the following: class Functor (f :: * -> *) where fmap :: (a -> b) -> f a -> f b (<$) :: a -> f b