ScalaFP: the Reasons Behind Monads

Why Monad:

1. Functional Programming:

“pure” function = no side effects

2. All applications without side effects are useless!

3. Monad wraps side-effect as if it is “pure” for FP composition.


A Fistful of Monads

Kotlin Monad (and Functor, Applicative)

1. Functor “map” (Kotlin) (fmap or <$> in Haskell)

2. Monadsflatmap” (>>= in Haskell)

Haskell Monad:

Do not fear Monoid / Monoidal Category / Monad:

Monad in Haskell

F# Monad:

View story at