Functional programming in Kotlin with Arrow
Monad Comprehensions / Monad Bindings
Autoplay
Up next
Previous
About
They are also known as Monad Bindings. The bindings are a way to sugarize asynchronous code to make it look like imperative. They are very close to the async await approach. But they also provide other things on top of it. On this lesson, you will learn about:
- The capability to write asynchronous code in imperative / synchronous style. Therefore removing accumulative indentation levels.
- How they lift resulting values into the context of the data type launching the binding.
- How they are mainly useful for flatMapping scenarios like the ones described in the previous lesson.
- How to force blocking resolution of an async call inside of them to provide the sugar.
- How Monad Comprehensions are written over kotlinx.coroutines.
- Learn about some different binding types available.
Instructor
Links
Comments
Lessons in Functional programming in Kotlin with Arrow
1. What is Functional Programming and Why it's Important
05:30
2. Purity

02:26
3. Referential Transparency

02:38
4. Side effects

03:42
5. Arrow modules and artifacts

05:19
6. Integrating Arrow Into Your App

01:53
7. Integrating the Arrow Annotation Processor

Pro
02:11
8. Type Constructors

Pro
03:19
9. Higher Kinded Types

Pro
04:52
10. Typeclasses

Pro
04:40
11. Functor Typeclass

Pro
05:29
12. Applicative Typeclass

Pro
03:56
13. Applicative Builder

Pro
03:54
14. Monad Typeclass

Pro
05:44
15. Monad Comprehensions / Monad Bindings

Pro
04:15
16. Monad Comprehensions / Monad Bindings - Errors and deferred computations

Pro
02:52
17. Error Handling - Option, Either, Try

Pro
06:05
18. Error handling - Validations with Validated

Pro
05:27
19. Dependency Injection with the Reader

Pro
05:32
20. Functional Black Box Testing with Readers

Pro
06:46

Something went wrong
Lesson added to playlist
Create new playlist
Name can't be empty