Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Advanced Functional Programming in Kotlin: monads and more!

Advanced Functional Programming in Kotlin: monads and more!

Increase your functional programming knowledge and skills, and bright even more in your job interviews
Created byJM Navarro
Last updated 5/2025
English

What you'll learn

  • Learn the advanced topics of functional programming: monoids, semigroups, monads, and applicatives
  • Implement your own advanced functional patterns and abstractions in Kotlin.
  • Create a fully-functional validation library with a pure functional design.
  • Impress your technical interviewer with unique, professional, and advanced designs!

Course content

4 sections19 lectures3h 18m total length
  • What are Monoids?11:07
  • Use Values as a Return11:20
  • Combine AND Validate15:34
  • Combine Validat(OR)s8:57
  • What is a Semi-group2:43
  • Monoid is not an insult7:20

Requirements

  • Introductory course "Functional Programming in Kotlin: to monads and beyond!"

Description

In recent years, all the new programming languages that have emerged include more or less prominent functional features. We all start by using a filter, then a map, flatMap, reduce... at first, it seems easy!

Then we try to learn concepts like monad, functor, monoid, applicative... we read a tutorial here, a blog post there... and after all, we think "I'm never going to understand this."

And I have to tell you—it’s not that hard, you're just using the wrong approach: to understand what a monad is, you have to create your own monad. Then a second one, a third... and voilà, you understand what you're doing, even if no one has actually explained it to you.

In this course, you’re going to do exactly that: understand the concepts of functional programming in a 100% practical way, with exercises in Kotlin. That way, you’ll immerse yourself in it, internalize it, and by the end of the day, you’ll know what a monad is (and a functor, a monoid, an applicative...) even if you’re not quite sure how you ended up learning it.

This course is focused is the most obscure part of the functional programming: the functional abstractions, or as we call them: functional patterns.

  • Monoid

  • Semi-group

  • Monad

  • Applicative

Don’t hesitate—functional programming is one of the few disciplines that will truly change the way you think, and that will make you a much more valuable programmer than someone who only knows the latest trendy framework.


IMPORTANT: this course is the advanced part of the course "Functional Programming in Kotlin: to monads and beyond!"

Who this course is for:

  • Kotlin developers with basic knowledge of functional programming