Sign in Go Pro

Functional programming in Kotlin with Arrow

Monad Typeclass

This lesson is for PRO members.

Upgrade today to get access to all the PRO lessons.

Unlock this lesson

Up next



Monad is one of those most well-known words from Functional Programming that we are sometimes scared about. Learn how it's not that scary, and how important is it for things like sequential computations on any system / app. Learn:

  • Main use case of monads based on real app examples. Or how those are thought for sequential operations where the input of each depend on the result of the previous one.
  • It's main combinator, the flatMap to achieve that.
  • When you combine flatMap and map you can get some nested types. Learn how to fix that with the flatten combinator.
  • Learn how just using flatMap avoids nesting by definition.
  • Learn the most important difference between the Applicative and the Monad use cases (independent vs dependent computations).


There are no comments on this lesson, start the conversation below ...


Lessons in Functional programming in Kotlin with Arrow